make communicator singleton

This commit is contained in:
Torma Kristóf 2020-03-29 17:58:04 +02:00
parent 3f6385fe94
commit 4ff137d758
Signed by: tormakris
GPG Key ID: DC83C4F2C41B1047
2 changed files with 32 additions and 6 deletions

View File

@ -1,6 +1,7 @@
#!/usr/bin/env python
import requests
from singleton import Singleton
"""
Communicator module
@ -11,15 +12,10 @@ __copyright__ = "Copyright 2020, GoldenPogácsa Team"
__module_name__ = "messagesender"
__version__text__ = "1"
class Communicator:
class Communicator(Singleton):
"""
Class handling low level communication with consumers.
"""
def __init__(self):
"""
Initalize class
"""
pass
def sendmessage(self, message: str) -> None:
"""

30
singleton.py Normal file
View File

@ -0,0 +1,30 @@
#!/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_]