mirror of https://github.com/midoks/mdserver-web
pull/125/head
parent
ba85f57298
commit
58038944b5
@ -0,0 +1,93 @@ |
||||
# coding: utf-8 |
||||
|
||||
import re |
||||
import os |
||||
import sys |
||||
|
||||
|
||||
from mysql import connector |
||||
|
||||
sys.path.append(os.getcwd() + "/class/core") |
||||
import mw |
||||
|
||||
# if mw.isAppleSystem(): |
||||
# cmd = 'ls /usr/local/lib/ | grep python | cut -d \\ -f 1 | awk \'END {print}\'' |
||||
# info = mw.execShell(cmd) |
||||
# p = "/usr/local/lib/" + info[0].strip() + "/site-packages" |
||||
# sys.path.append(p) |
||||
|
||||
|
||||
class ORM: |
||||
__DB_PASS = None |
||||
__DB_USER = 'root' |
||||
__DB_PORT = 3306 |
||||
__DB_HOST = 'localhost' |
||||
__DB_CONN = None |
||||
__DB_CUR = None |
||||
__DB_ERR = None |
||||
__DB_CNF = '/etc/my.cnf' |
||||
|
||||
def __Conn(self): |
||||
'''连接MYSQL数据库''' |
||||
try: |
||||
socket = '/www/server/mariadb/mysql.sock' |
||||
try: |
||||
myconf = mw.readFile(self.__DB_CNF) |
||||
rep = "port\s*=\s*([0-9]+)" |
||||
self.__DB_PORT = int(re.search(rep, myconf).groups()[0]) |
||||
except: |
||||
self.__DB_PORT = 3306 |
||||
|
||||
try: |
||||
self.__DB_CONN = connector.connect(host=self.__DB_HOST, user=self.__DB_USER, passwd=self.__DB_PASS, |
||||
port=self.__DB_PORT, charset="utf8", connect_timeout=1, unix_socket=socket) |
||||
except Exception as e: |
||||
self.__DB_HOST = '127.0.0.1' |
||||
self.__DB_CONN = connector.connect(host=self.__DB_HOST, user=self.__DB_USER, passwd=self.__DB_PASS, |
||||
port=self.__DB_PORT, charset="utf8", connect_timeout=1, unix_socket=socket) |
||||
|
||||
self.__DB_CUR = self.__DB_CONN.cursor() |
||||
return True |
||||
except Exception as e: |
||||
self.__DB_ERR = e |
||||
return False |
||||
|
||||
def setDbConf(self, conf): |
||||
self.__DB_CNF = conf |
||||
|
||||
def setPwd(self, pwd): |
||||
self.__DB_PASS = pwd |
||||
|
||||
def getPwd(self): |
||||
return self.__DB_PASS |
||||
|
||||
def execute(self, sql): |
||||
# 执行SQL语句返回受影响行 |
||||
if not self.__Conn(): |
||||
return self.__DB_ERR |
||||
try: |
||||
result = self.__DB_CUR.execute(sql) |
||||
self.__DB_CONN.commit() |
||||
self.__Close() |
||||
return result |
||||
except Exception as ex: |
||||
return ex |
||||
|
||||
def query(self, sql): |
||||
# 执行SQL语句返回数据集 |
||||
if not self.__Conn(): |
||||
return self.__DB_ERR |
||||
try: |
||||
self.__DB_CUR.execute(sql) |
||||
result = self.__DB_CUR.fetchall() |
||||
# 将元组转换成列表 |
||||
# data = list(map(list, result)) |
||||
self.__Close() |
||||
return result |
||||
except Exception as ex: |
||||
return ex |
||||
|
||||
def __Close(self): |
||||
# 关闭连接 |
||||
self.__DB_CUR.close() |
||||
self.__DB_CONN.close() |
Loading…
Reference in new issue