py.lib

Yohn Y. 2021-06-06 Parent:a8460893606a Child:1a3d395b5cdf

19:26a5160d6b6b Browse Files

. Наведение порядка с PostgreSQL . Реализация получения объекта соединения из моих обектов манипуляции с данными

db/migrator.py db/sqlite.py

     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