30 lines
830 B
Python
30 lines
830 B
Python
from . import ModuleBase
|
|
from pyPgSQL import PgSQL
|
|
|
|
class Module(ModuleBase):
|
|
def __init__(self, manager):
|
|
ModuleBase.__init__(self, manager)
|
|
|
|
self.conf = manager.config['pgsql']
|
|
|
|
self.db = False
|
|
self._connect()
|
|
|
|
def _connect(self):
|
|
if self.db:
|
|
try:
|
|
self.db.close()
|
|
except:
|
|
pass
|
|
|
|
self.db = PgSQL.connect(host = self.conf['host'], user = self.conf['user'], password = self.conf['passwd'], database = self.conf['db'], client_encoding = 'utf8', unicode_results = 1)
|
|
|
|
def cursor(self):
|
|
try:
|
|
return self.db.cursor()
|
|
except PgSQL.OperationalError:
|
|
self._connect()
|
|
return self.db.cursor()
|
|
|
|
def commit(self):
|
|
self.db.commit()
|