py.lib

Yohn Y. 2021-02-21 Parent:cab7fedf8432

17:10227cc154fa Go to Latest

py.lib/db/pg/py.py

* Исправление ряда тупых ошибок в миграторе

History
awgur@13 1 import postgresql.driver as DBM
awgur@13 2 import postgresql.exceptions as DBErr
awgur@13 3
awgur@13 4 def GetDB(*, name, user, passwd, host='localhost', port=5432):
awgur@13 5 """
awgur@13 6 На случай когда лениво каждый раз вызывать базу со всеми регалиями,
awgur@13 7 регалии сохраняем в специального вызывателя :)))
awgur@13 8 """
awgur@13 9 def func ():
awgur@13 10 return DB(name, user, passwd, host=host, port=port)
awgur@13 11 return func
awgur@13 12
awgur@13 13 class DB:
awgur@13 14 def __init__(self, db_name, db_user, db_passwd, *, host='localhost', port=5432):
awgur@13 15 self._db = DBM.connect(
awgur@13 16 host = host,
awgur@13 17 port = port,
awgur@13 18 user = db_user,
awgur@13 19 password = db_passwd,
awgur@13 20 database = db_name
awgur@13 21 )
awgur@13 22 self.xact = self._db.xact
awgur@13 23 self.q = self._db.query
awgur@13 24 self.pq = self._db.prepare
awgur@13 25 self.ex = self._db.execute
awgur@13 26 self.proc = self._db.proc
awgur@13 27 self.close = self._db.close
awgur@13 28
awgur@13 29 def __del__(self):
awgur@13 30 if self._db.state != 'closed':
awgur@13 31 self._db.close()