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,18 +9,19 @@ | ||
9 | import os | 9 | import os |
10 | import csv | 10 | import csv |
11 | 11 | ||
12 | -class Singleton(object): | 12 | +class Singleton(type): |
13 | ''' Permite a criação de apenas uma instância da classe | 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 | '''Carrega todos os arquivos (dicionários) necessários para auxiliar durante o processo de tradução. | 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 | def __init__(self): | 26 | def __init__(self): |
26 | self.path = self.get_path() | 27 | self.path = self.get_path() |
@@ -43,7 +44,7 @@ class LerDicionarios(Singleton): | @@ -43,7 +44,7 @@ class LerDicionarios(Singleton): | ||
43 | ''' | 44 | ''' |
44 | if "TRANSLATE_DATA" in os.environ: | 45 | if "TRANSLATE_DATA" in os.environ: |
45 | return os.environ.get("TRANSLATE_DATA") | 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 | def carregar_dicionarios(self): | 49 | def carregar_dicionarios(self): |
49 | '''Realiza a leitura dos arquivos e atribui à estruturas de dicionários e sets. | 50 | '''Realiza a leitura dos arquivos e atribui à estruturas de dicionários e sets. |