added utils.py with Singleton metaclass

This commit is contained in:
Alexey Sokolov
2022-02-18 15:10:00 +03:00
parent 3cd506682f
commit 0a08b23b72
2 changed files with 11 additions and 2 deletions

View File

@@ -13,7 +13,7 @@ Create database file and tables if not exists.
|by_request | +---------------+
+--------------+
* services table
* **services table**
* **service_id:** service id
*(integer primary key)*.
* **token:** service token for access to api
@@ -26,7 +26,7 @@ Create database file and tables if not exists.
*(integer with 0 as default)*.
* **by_request:** send notifications automatically or not
*(integer with 0 as default)*.
* notifications table
* **notifications table**
* **notification_id:** notification id
*(integer primary key)*.
* **service_id:** service id
@@ -73,4 +73,5 @@ def create_tables_if_not_exists(dbfile: str) -> None:
cursor.execute(CREATE_SERVICES_TABLE)
cursor.execute(CREATE_NOTIFICATIONS_TABLE)
connection.commit()
cursor.close()
connection.close()

8
utils.py Normal file
View File

@@ -0,0 +1,8 @@
class Singleton(type):
"""Singleton metaclass"""
_instances = {}
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
cls._instances[cls] = super().__call__(*args, **kwargs)
return cls._instances[cls]