py.lib

John Y. 2018-05-30 Parent:f35759c0fdd0

4:cb88c7d80d6f Go to Latest

py.lib/awNet/db/pg.py

pgAdmin4_server.py

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