优化gogs插件

pull/185/head
midoks 3 years ago
parent e4de3cff61
commit 82828aacf6
  1. 3
      class/plugin/orm.py
  2. 6
      class/plugin/ormDb.py
  3. 91
      plugins/gogs/class/mysqlDb.py
  4. 24
      plugins/gogs/index.py
  5. 8
      plugins/gogs/js/gogs.js

@ -68,6 +68,9 @@ class ORM:
def setPort(self, port): def setPort(self, port):
self.__DB_PORT = port self.__DB_PORT = port
def setUser(self, user):
self.__DB_USER = user
def setPwd(self, pwd): def setPwd(self, pwd):
self.__DB_PASS = pwd self.__DB_PASS = pwd

@ -77,6 +77,12 @@ class ORM:
def getPwd(self): def getPwd(self):
return self.__DB_PASS return self.__DB_PASS
def setDbName(self, name):
self.__DB_NAME = name
def setUser(self, user):
self.__DB_USER = user
def execute(self, sql): def execute(self, sql):
# 执行SQL语句返回受影响行 # 执行SQL语句返回受影响行
if not self.__Conn(): if not self.__Conn():

@ -1,91 +0,0 @@
# coding: utf-8
import re
import os
import sys
# sys.path.append("/usr/local/lib/python3.6/site-packages")
class mysqlDb:
__DB_PASS = None
__DB_USER = 'root'
__DB_PORT = 3306
__DB_HOST = 'localhost'
__DB_NAME = 'test'
__DB_CONN = None
__DB_CUR = None
__DB_ERR = None
__DB_CNF = '/etc/my.cnf'
def __Conn(self):
'''连接MYSQL数据库'''
try:
socket = '/www/server/mysql/mysql.sock'
try:
import MySQLdb
except Exception as ex:
self.__DB_ERR = ex
return False
try:
self.__DB_CONN = MySQLdb.connect(host=self.__DB_HOST, user=self.__DB_USER, passwd=self.__DB_PASS,
port=self.__DB_PORT, db=self.__DB_NAME, charset="utf8", connect_timeout=10, unix_socket=socket)
except MySQLdb.Error as e:
self.__DB_HOST = '127.0.0.1'
self.__DB_CONN = MySQLdb.connect(host=self.__DB_HOST, user=self.__DB_USER, passwd=self.__DB_PASS,
port=self.__DB_PORT, db=self.__DB_NAME, charset="utf8", connect_timeout=10, unix_socket=socket)
self.__DB_CUR = self.__DB_CONN.cursor()
return True
except MySQLdb.Error as e:
self.__DB_ERR = e
return False
def setHost(self, host):
self.__DB_HOST = host
def setPwd(self, pwd):
self.__DB_PASS = pwd
def setUser(self, user):
self.__DB_USER = user
def setPort(self, port):
self.__DB_PORT = port
def setDb(self, name):
self.__DB_NAME = name
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 = map(list, result)
self.__Close()
return result
except Exception as ex:
return "error: " + str(ex)
# 关闭连接
def __Close(self):
self.__DB_CUR.close()
self.__DB_CONN.close()

@ -31,9 +31,6 @@ def getPluginName():
def getPluginDir(): def getPluginDir():
return mw.getPluginDir() + '/' + getPluginName() return mw.getPluginDir() + '/' + getPluginName()
sys.path.append(getPluginDir() + "/class")
import mysqlDb
def getServerDir(): def getServerDir():
return mw.getServerDir() + '/' + getPluginName() return mw.getServerDir() + '/' + getPluginName()
@ -235,16 +232,19 @@ def getDbConfValue():
def pMysqlDb(conf): def pMysqlDb(conf):
host = conf['HOST'].split(':') host = conf['HOST'].split(':')
conn = mysqlDb.mysqlDb() # pymysql
db = mw.getMyORM()
# MySQLdb |
# db = mw.getMyORMDb()
conn.setHost(host[0]) db.setPort(int(host[1]))
conn.setUser(conf['USER']) db.setUser(conf['USER'])
conn.setPwd(conf['PASSWD']) db.setPwd(conf['PASSWD'])
conn.setPort(int(host[1])) db.setDbName(conf['NAME'])
conn.setDb(conf['NAME']) # db.setSocket(getSocketFile())
return conn db.setCharset("utf8")
return db
def pSqliteDb(conf): def pSqliteDb(conf):
@ -476,7 +476,7 @@ def userList():
start = (page - 1) * page_size start = (page - 1) * page_size
list_count = pQuery('select count(id) as num from user') list_count = pQuery('select count(id) as num from user')
count = list_count[0][0] count = list_count[0]["num"]
list_data = pQuery( list_data = pQuery(
'select id,name,email from user order by id desc limit ' + str(start) + ',' + str(page_size)) 'select id,name,email from user order by id desc limit ' + str(start) + ',' + str(page_size))
data['list'] = mw.getPage({'count': count, 'p': page, data['list'] = mw.getPage({'count': count, 'p': page,

@ -163,11 +163,11 @@ function gogsUserList(page, search) {
ulist = rdata['data']['data']; ulist = rdata['data']['data'];
for (i in ulist){ for (i in ulist){
email = ulist[i][2] == '' ? '无' : ulist[i][2]; email = ulist[i]["email"] == '' ? '无' : ulist[i]["email"];
content += '<tr><td>'+ulist[i][0]+'</td>'+ content += '<tr><td>'+ulist[i]["id"]+'</td>'+
'<td>'+ulist[i][1]+'</td>'+ '<td>'+ulist[i]["name"]+'</td>'+
'<td>'+email+'</td>'+ '<td>'+email+'</td>'+
'<td><a class="btlink" onclick="userProjectList(\''+ulist[i][1]+'\')">项目管理</a></td>'+ '<td><a class="btlink" onclick="userProjectList(\''+ulist[i]["name"]+'\')">项目管理</a></td>'+
'</tr>'; '</tr>';
} }

Loading…
Cancel
Save