From 2af8fd2236ba00659f7535c72e6cd0264d0aa492 Mon Sep 17 00:00:00 2001 From: Erickson Silva Date: Fri, 13 Nov 2015 16:34:40 -0300 Subject: [PATCH] Corrige Singleton da classe LerDicionarios --- src/LerDicionarios.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/LerDicionarios.py b/src/LerDicionarios.py index 4250e55..dc57355 100644 --- a/src/LerDicionarios.py +++ b/src/LerDicionarios.py @@ -9,18 +9,19 @@ import os import csv -class Singleton(object): +class Singleton(type): ''' Permite a criação de apenas uma instância da classe ''' + _instances = {} + def __call__(cls, *args, **kwargs): + if cls not in cls._instances: + cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs) + return cls._instances[cls] - def __new__(cls, *args, **kwargs): - if '_inst' not in vars(cls): - cls._inst = object.__new__(cls, *args, **kwargs) - return cls._inst - -class LerDicionarios(Singleton): +class LerDicionarios(object): '''Carrega todos os arquivos (dicionários) necessários para auxiliar durante o processo de tradução. ''' + __metaclass__ = Singleton def __init__(self): self.path = self.get_path() @@ -43,7 +44,7 @@ class LerDicionarios(Singleton): ''' if "TRANSLATE_DATA" in os.environ: return os.environ.get("TRANSLATE_DATA") - return os.path.expanduser("~") + "/vlibras-translate/data" + return os.path.expanduser("~") + "/vlibras-translate/data" def carregar_dicionarios(self): '''Realiza a leitura dos arquivos e atribui à estruturas de dicionários e sets. -- libgit2 0.21.2