| Total Complexity | 2 |
| Total Lines | 14 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | |||
| 2 | __all__ = ['Singleton'] |
||
| 3 | |||
| 4 | |||
| 5 | class Singleton(type): |
||
| 6 | _instances = {} |
||
| 7 | |||
| 8 | def __call__(cls, *args, **kwargs): |
||
| 9 | instance = cls._instances.get(cls) |
||
| 10 | if not instance: |
||
| 11 | instance = super(Singleton, cls).__call__(*args, **kwargs) |
||
| 12 | cls._instances[cls] = instance |
||
| 13 | return instance |
||
| 14 |