30 lines
779 B
Python
30 lines
779 B
Python
from . import ModuleBase
|
|
import psycopg2
|
|
|
|
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 = psycopg2.connect(host = self.conf['host'], user = self.conf['user'], password = self.conf['passwd'], database = self.conf['db'])
|
|
|
|
def cursor(self):
|
|
try:
|
|
return self.db.cursor()
|
|
except psycopg2.OperationalError:
|
|
self._connect()
|
|
return self.db.cursor()
|
|
|
|
def commit(self):
|
|
self.db.commit()
|