summaryrefslogtreecommitdiffstats
path: root/modules/mysql.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/mysql.py')
-rw-r--r--modules/mysql.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/modules/mysql.py b/modules/mysql.py
index 2db2817..5ae9e93 100644
--- a/modules/mysql.py
+++ b/modules/mysql.py
@@ -1,10 +1,24 @@
-from base import ModuleBase
+from . import ModuleBase
import MySQLdb
class Module(ModuleBase):
def __init__(self, manager):
ModuleBase.__init__(self, manager)
- conf = manager.config['mysql']
+ self.conf = manager.config['mysql']
- self.db = MySQLdb.connect(host = conf['host'], user = conf['user'], passwd = conf['passwd'], db = conf['db'], use_unicode = True, charset = 'utf8')
+ self.db = False
+ self._connect()
+
+ def _connect(self):
+ if self.db:
+ self.db.close()
+ self.db = MySQLdb.connect(host = self.conf['host'], user = self.conf['user'], passwd = self.conf['passwd'], db = self.conf['db'], use_unicode = True, charset = 'utf8')
+
+ def cursor(self):
+ try:
+ self.db.ping()
+ return self.db.cursor()
+ except MySQLdb.OperationalError:
+ self._connect()
+ return self.db.cursor()