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. | ... | ... |