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()