From 52f54d086fea7682c2a0bacaf3d4d27cb1db2629 Mon Sep 17 00:00:00 2001 From: dznFK Date: Sat, 25 Nov 2023 01:03:10 +0400 Subject: [PATCH] Assembly separation --- .gitmodules | 3 +++ database/__init__.py | 1 + database/assebmlr | 1 + database/mariadb.py | 39 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 .gitmodules create mode 100644 database/__init__.py create mode 160000 database/assebmlr create mode 100644 database/mariadb.py diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..47f34fd --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "database/assebmlr"] + path = database/assebmlr + url = https://git.denco.store/agonex/Assemblr-Database.git diff --git a/database/__init__.py b/database/__init__.py new file mode 100644 index 0000000..4ac8d72 --- /dev/null +++ b/database/__init__.py @@ -0,0 +1 @@ +from assebmlr.models import * diff --git a/database/assebmlr b/database/assebmlr new file mode 160000 index 0000000..4096f3f --- /dev/null +++ b/database/assebmlr @@ -0,0 +1 @@ +Subproject commit 4096f3f868bc263df0989e2496365719b6863f2d diff --git a/database/mariadb.py b/database/mariadb.py new file mode 100644 index 0000000..388b42d --- /dev/null +++ b/database/mariadb.py @@ -0,0 +1,39 @@ +import mariadb +import settings + + +class MariadbConnector: + def __init__(self): + # Settings + self.user = settings.MY_LOGIN + self.password = settings.MY_PASSWORD + self.host = settings.MY_HOST + self.port = int(settings.MY_PORT) + self.database = settings.MY_DATABASE + + self.conn = self._get_connection() + self.cursor = self._get_cursor() + + def _get_connection(self) -> mariadb.connections.Connection: + return mariadb.connect(user=self.user, + password=self.password, + host=self.host, + port=self.port, + database=self.database) + + def _get_cursor(self) -> mariadb.cursors.Cursor: + return self.conn.cursor() + + def select(self, query_string: str, as_list=True): + cursor = self.cursor + + cursor.execute(query_string) + if not as_list: + return cursor.fetchone() + return cursor.fetchall() + + def insert(self, query_string) -> int: + cursor = self.cursor + + cursor.execute(query_string) + return cursor.insert_id