31 lines
632 B
Python
31 lines
632 B
Python
|
#!/usr/bin/env python
|
||
|
|
||
|
"""
|
||
|
Singleton meta module
|
||
|
"""
|
||
|
|
||
|
__author__ = "@tormakris"
|
||
|
__copyright__ = "Copyright 2020, GoldenPogácsa Team"
|
||
|
__module_name__ = "singleton"
|
||
|
__version__text__ = "1"
|
||
|
|
||
|
|
||
|
class Singleton(object):
|
||
|
"""
|
||
|
Singleton metaclass
|
||
|
"""
|
||
|
_instances = {}
|
||
|
|
||
|
def __new__(class_, *args, **kwargs):
|
||
|
"""
|
||
|
New
|
||
|
:param args:
|
||
|
:param kwargs:
|
||
|
:return:
|
||
|
"""
|
||
|
if class_ not in class_._instances:
|
||
|
class_._instances[class_] = super(
|
||
|
Singleton, class_).__new__(
|
||
|
class_, *args, **kwargs)
|
||
|
return class_._instances[class_]
|