py.lib
2017-04-09
py.lib/awNet/db/pg.py
init
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/awNet/db/pg.py Sun Apr 09 12:13:01 2017 +0300 1.3 @@ -0,0 +1,31 @@ 1.4 +import postgresql.driver as DBM 1.5 +import postgresql.exceptions as DBErr 1.6 + 1.7 +def GetDB(*, name, user, passwd, host='localhost', port=5432): 1.8 + """ 1.9 + На случай когда лениво каждый раз вызывать базу со всеми регалиями, 1.10 + регалии сохраняем в специального вызывателя :))) 1.11 + """ 1.12 + def func (): 1.13 + return DB(name, user, passwd, host=host, port=port) 1.14 + return func 1.15 + 1.16 +class DB: 1.17 + def __init__(self, db_name, db_user, db_passwd, *, host='localhost', port=5432): 1.18 + self._db = DBM.connect( 1.19 + host = host, 1.20 + port = port, 1.21 + user = db_user, 1.22 + password = db_passwd, 1.23 + database = db_name 1.24 + ) 1.25 + self.xact = self._db.xact 1.26 + self.q = self._db.query 1.27 + self.pq = self._db.prepare 1.28 + self.ex = self._db.execute 1.29 + self.proc = self._db.proc 1.30 + self.close = self._db.close 1.31 + 1.32 + def __del__(self): 1.33 + if self._db.state != 'closed': 1.34 + self._db.close() 1.35 \ No newline at end of file