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