Commit 2af8fd2236ba00659f7535c72e6cd0264d0aa492
1 parent
db55a417
Exists in
master
and in
1 other branch
Corrige Singleton da classe LerDicionarios
Showing
1 changed file
with
9 additions
and
8 deletions
Show diff stats
src/LerDicionarios.py
... | ... | @@ -9,18 +9,19 @@ |
9 | 9 | import os |
10 | 10 | import csv |
11 | 11 | |
12 | -class Singleton(object): | |
12 | +class Singleton(type): | |
13 | 13 | ''' Permite a criação de apenas uma instância da classe |
14 | 14 | ''' |
15 | + _instances = {} | |
16 | + def __call__(cls, *args, **kwargs): | |
17 | + if cls not in cls._instances: | |
18 | + cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs) | |
19 | + return cls._instances[cls] | |
15 | 20 | |
16 | - def __new__(cls, *args, **kwargs): | |
17 | - if '_inst' not in vars(cls): | |
18 | - cls._inst = object.__new__(cls, *args, **kwargs) | |
19 | - return cls._inst | |
20 | - | |
21 | -class LerDicionarios(Singleton): | |
21 | +class LerDicionarios(object): | |
22 | 22 | '''Carrega todos os arquivos (dicionários) necessários para auxiliar durante o processo de tradução. |
23 | 23 | ''' |
24 | + __metaclass__ = Singleton | |
24 | 25 | |
25 | 26 | def __init__(self): |
26 | 27 | self.path = self.get_path() |
... | ... | @@ -43,7 +44,7 @@ class LerDicionarios(Singleton): |
43 | 44 | ''' |
44 | 45 | if "TRANSLATE_DATA" in os.environ: |
45 | 46 | return os.environ.get("TRANSLATE_DATA") |
46 | - return os.path.expanduser("~") + "/vlibras-translate/data" | |
47 | + return os.path.expanduser("~") + "/vlibras-translate/data" | |
47 | 48 | |
48 | 49 | def carregar_dicionarios(self): |
49 | 50 | '''Realiza a leitura dos arquivos e atribui à estruturas de dicionários e sets. | ... | ... |