py.lib
19:26a5160d6b6b Browse Files
. Наведение порядка с PostgreSQL . Реализация получения объекта соединения из моих обектов манипуляции с данными
1.1 --- a/db/migrator.py Sun Jun 06 14:04:19 2021 +0300 1.2 +++ b/db/migrator.py Sun Jun 06 14:13:24 2021 +0300 1.3 @@ -76,8 +76,8 @@ 1.4 def init_db(self, db): 1.5 cursor = db.cursor() 1.6 for c in self.get_commands(self.schema): 1.7 - cursor.execute(c) 1.8 - db.commit() 1.9 + cursor.execute(c) 1.10 + db.commit() 1.11 1.12 db.commit() 1.13 1.14 @@ -108,4 +108,17 @@ 1.15 """ % (self.control_table, new_ver)) 1.16 db.commit() 1.17 1.18 + @staticmethod 1.19 + def get_conn_from_my_obj(obj: object): 1.20 + """\ 1.21 + Получиение объекта соединения из обёрток, которые я сам себе пишу для работы с DB-API 1.22 1.23 + :param obj: 1.24 + :return: 1.25 + """ 1.26 + if hasattr(obj, '_conn'): 1.27 + return obj._conn 1.28 + elif hasattr(obj, '_con'): 1.29 + return obj._con 1.30 + else: 1.31 + raise TypeError('No known connection object in given database object found')
2.1 --- a/db/sqlite.py Sun Jun 06 14:04:19 2021 +0300 2.2 +++ b/db/sqlite.py Sun Jun 06 14:13:24 2021 +0300 2.3 @@ -4,10 +4,10 @@ 2.4 2.5 class DB: 2.6 def __init__(self, db_file): 2.7 - self._con = sqlite3.connect(db_file) 2.8 - self._ex = self._con.execute 2.9 - self.commit = self._con.commit 2.10 - self.rollback = self._con.rollback 2.11 + self._conn = sqlite3.connect(db_file) 2.12 + self._ex = self._conn.execute 2.13 + self.commit = self._conn.commit 2.14 + self.rollback = self._conn.rollback 2.15 2.16 # DB PREP 2.17 self._ex("PRAGMA journal=WAL") 2.18 @@ -17,12 +17,12 @@ 2.19 def __del__(self): 2.20 try: 2.21 self.rollback() 2.22 - self._con.close() 2.23 + self._conn.close() 2.24 except: 2.25 pass 2.26 2.27 def __call__(self, *a, **kwa): 2.28 - cur = self._con.cursor() 2.29 + cur = self._conn.cursor() 2.30 cur.execute(*a, **kwa) 2.31 return cur 2.32