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