mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
40 lines
1006 B
Python
40 lines
1006 B
Python
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
|
|
"""
|
|
import re
|
|
import MySQLdb
|
|
|
|
connections = {}
|
|
|
|
def mysql_newconnection(host, dbname, login, password):
|
|
import MySQLdb
|
|
return MySQLdb.connect(host=host, db=dbname, user=login, passwd=password)
|
|
|
|
def getconnection(name):
|
|
if not name in connections.keys():
|
|
from django.conf import settings
|
|
|
|
cfg = settings.DB_CONNECTIONS[name]
|
|
if cfg["driver"] == "mysql":
|
|
conn = mysql_newconnection(cfg["host"], cfg["dbname"], cfg["login"],
|
|
cfg["password"])
|
|
connections[name] = conn
|
|
return connections[name]
|
|
|
|
def execute(conn, query):
|
|
try:
|
|
cursor = conn.cursor()
|
|
cursor.execute(query)
|
|
if re.search("INSERT|DELETE|UPDATE", query):
|
|
conn.commit()
|
|
return (True, None)
|
|
return (True, cursor)
|
|
except MySQLdb.Error, e:
|
|
return (False, "Error %d: %s" % (e.args[0], e.args[1]))
|
|
|
|
def close(conn):
|
|
conn.close()
|
|
|