From 513a2f94e9f298cc109496150aea2dd63e850f3d Mon Sep 17 00:00:00 2001 From: aegroto Date: Sun, 7 Feb 2021 19:53:34 +0100 Subject: [PATCH] updated module format --- src/Sqlite3Manager.py | 20 ++++---------------- src/SqliteSession.py | 4 ++-- src/__init__.py | 7 +++++++ src/init.py | 17 ----------------- 4 files changed, 13 insertions(+), 35 deletions(-) create mode 100644 src/__init__.py delete mode 100644 src/init.py diff --git a/src/Sqlite3Manager.py b/src/Sqlite3Manager.py index 67e5449..a048581 100644 --- a/src/Sqlite3Manager.py +++ b/src/Sqlite3Manager.py @@ -1,21 +1,9 @@ -import logging, sqlite3 - -from modules.pytg.Manager import Manager -from modules.pytg.load import manager, get_module_content_folder +from pytg.Manager import Manager +from pytg.load import manager, get_module_content_folder from .SqliteSession import SqliteSession class Sqlite3Manager(Manager): - @staticmethod - def initialize(): - Sqlite3Manager.__instance = Sqlite3Manager() - - return - - @staticmethod - def load(): - return Sqlite3Manager.__instance - def __init__(self): self.__sessions = {} @@ -23,7 +11,7 @@ def __init__(self): # SQLite3 interface # ###################### - def create_session(self, module_name, storage_id, session_id=None, pragma=None): + def create_session(self, module_name, storage_id, session_id=None, pragma=None, thread_safe=True): if not session_id: session_id = self.__build_session_id(module_name, storage_id) @@ -35,7 +23,7 @@ def create_session(self, module_name, storage_id, session_id=None, pragma=None): db_path = "{}/sqlite3/{}.db".format(get_module_content_folder(module_name), storage_id) - self.__sessions[session_id] = SqliteSession(db_path, pragma) + self.__sessions[session_id] = SqliteSession(db_path, pragma, check_same_thread=thread_safe) return self.__sessions[session_id] diff --git a/src/SqliteSession.py b/src/SqliteSession.py index 54bd148..ea03923 100644 --- a/src/SqliteSession.py +++ b/src/SqliteSession.py @@ -1,14 +1,14 @@ import logging, sqlite3, threading class SqliteSession(): - def __init__(self, db_path, pragma={}): + def __init__(self, db_path, pragma={}, check_same_thread=True): self.__logger = logging.getLogger("SqliteSession('{}')".format(db_path)) self.__lock = threading.Lock() self.__cursor = None - self.__connection = sqlite3.connect(db_path) + self.__connection = sqlite3.connect(db_path, check_same_thread=check_same_thread) self.__connection.row_factory = sqlite3.Row self.__cursor = self.__connection.cursor() diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..479d27d --- /dev/null +++ b/src/__init__.py @@ -0,0 +1,7 @@ +from .Sqlite3Manager import Sqlite3Manager + +def initialize_manager(): + return Sqlite3Manager() + +def depends_on(): + return ["config"] \ No newline at end of file diff --git a/src/init.py b/src/init.py deleted file mode 100644 index 72ae8b4..0000000 --- a/src/init.py +++ /dev/null @@ -1,17 +0,0 @@ -import logging - -from modules.sqlite3.Sqlite3Manager import Sqlite3Manager - -def initialize(): - logging.info("Initializing sqlite3 module...") - - Sqlite3Manager.initialize() - -def connect(): - pass - -def load_manager(): - return Sqlite3Manager.load() - -def depends_on(): - return ["config"] \ No newline at end of file