pull/109/head
Mr Chen 6 years ago
parent c97a40efbb
commit 2844ce9636
  1. 20
      plugins/gogs/conf/app.ini
  2. 32
      plugins/gogs/index.py
  3. 16
      plugins/gogs/js/gogs.js
  4. 3
      requirements.txt

@ -13,18 +13,28 @@ PATH = data/gogs.db
[repository] [repository]
ROOT = {$ROOT_PATH}/gogs-repositories ROOT = {$ROOT_PATH}/gogs-repositories
FORCE_PRIVATE = false
[server] [server]
DOMAIN = 127.0.0.1 DOMAIN = 127.0.0.1
HTTP_PORT = 3000 HTTP_PORT = 3000
ROOT_URL = http://127.0.0.1:3000/ ROOT_URL = http://127.0.0.1:3000/
DISABLE_SSH = false DISABLE_SSH = false
SSH_PORT = 222 SSH_PORT = 2000
START_SSH_SERVER = false START_SSH_SERVER = false
OFFLINE_MODE = false OFFLINE_MODE = false
LANDING_PAGE = home
[mailer] [mailer]
ENABLED = false ENABLED = true
SUBJECT_PREFIX = GOGS
HOST = smtp.163.com:25
DISABLE_HELO =
HELO_HOSTNAME =
FROM =
USER = midoks@163.com
PASSWD = ***
USE_PLAIN_TEXT = true
[service] [service]
REGISTER_EMAIL_CONFIRM = false REGISTER_EMAIL_CONFIRM = false
@ -49,3 +59,9 @@ ROOT_PATH = {$SERVER_PATH}/gogs/log
INSTALL_LOCK = true INSTALL_LOCK = true
SECRET_KEY = jmGSJXDBH5Ng4wt SECRET_KEY = jmGSJXDBH5Ng4wt
[other]
SHOW_FOOTER_BRANDING = false
SHOW_FOOTER_VERSION = false
SHOW_FOOTER_TEMPLATE_LOAD_TIME = false

@ -204,13 +204,28 @@ def runLog():
def getGogsConf(): def getGogsConf():
gets = [ gets = [
{'name': 'HOST', 'type': -1, 'ps': '主机地址'}, {'name': 'DOMAIN', 'type': -1, 'ps': '服务器域名'},
{'name': 'NAME', 'type': -1, 'ps': '数据库名称'}, {'name': 'ROOT_URL', 'type': -1, 'ps': '公开的完整URL路径'},
{'name': 'USER', 'type': -1, 'ps': '数据库用户名'}, {'name': 'HTTP_ADDR', 'type': -1, 'ps': '应用HTTP监听地址'},
{'name': 'HTTP_PORT', 'type': -1, 'ps': '应用 HTTP 监听端口号'},
{'name': 'START_SSH_SERVER', 'type': 2, 'ps': '启动内置SSH服务器'},
{'name': 'SSH_PORT', 'type': -1, 'ps': 'SSH 端口号'},
{'name': 'REQUIRE_SIGNIN_VIEW', 'type': 2, 'ps': '强制登录浏览'}, {'name': 'REQUIRE_SIGNIN_VIEW', 'type': 2, 'ps': '强制登录浏览'},
{'name': 'ENABLE_CAPTCHA', 'type': 2, 'ps': '启用验证码服务'},
{'name': 'DISABLE_REGISTRATION', 'type': 2, 'ps': '禁止注册,只能由管理员创建帐号'},
{'name': 'ENABLE_NOTIFY_MAIL', 'type': 2, 'ps': '是否开启邮件通知'},
{'name': 'FORCE_PRIVATE', 'type': 2, 'ps': '强制要求所有新建的仓库都是私有'},
{'name': 'SHOW_FOOTER_BRANDING', 'type': 2, 'ps': 'Gogs推广信息'},
{'name': 'SHOW_FOOTER_VERSION', 'type': 2, 'ps': 'Gogs版本信息'},
{'name': 'SHOW_FOOTER_TEMPLATE_LOAD_TIME', 'type': 2, 'ps': 'Gogs模板加载时间'},
] ]
conf = public.readFile(getConf()) conf = public.readFile(getConf())
result = [] result = []
for g in gets: for g in gets:
rep = g['name'] + '\s*=\s*(.*)' rep = g['name'] + '\s*=\s*(.*)'
tmp = re.search(rep, conf) tmp = re.search(rep, conf)
@ -222,17 +237,22 @@ def getGogsConf():
def submitGogsConf(): def submitGogsConf():
gets = ['REQUIRE_SIGNIN_VIEW'] gets = ['DOMAIN', 'ROOT_URL', 'HTTP_ADDR',
'HTTP_PORT', 'START_SSH_SERVER', 'SSH_PORT',
'REQUIRE_SIGNIN_VIEW', 'FORCE_PRIVATE',
'ENABLE_CAPTCHA', 'DISABLE_REGISTRATION', 'ENABLE_NOTIFY_MAIL',
'SHOW_FOOTER_BRANDING', 'SHOW_FOOTER_VERSION',
'SHOW_FOOTER_TEMPLATE_LOAD_TIME']
args = getArgs() args = getArgs()
# print args
filename = getConf() filename = getConf()
conf = public.readFile(filename) conf = public.readFile(filename)
for g in gets: for g in gets:
if g in args: if g in args:
rep = g + '\s*=\s*(.*)' rep = g + '\s*=\s*(.*)'
val = g + ' = ' + args[g] + '\n' val = g + ' = ' + args[g]
conf = re.sub(rep, val, conf) conf = re.sub(rep, val, conf)
public.writeFile(filename, conf) public.writeFile(filename, conf)
reload()
return public.returnJson(True, '设置成功') return public.returnJson(True, '设置成功')
if __name__ == "__main__": if __name__ == "__main__":

@ -87,12 +87,26 @@ function gogsSetConfig(){
//提交PHP配置 //提交PHP配置
function submitGogsConf() { function submitGogsConf() {
var data = { var data = {
DOMAIN: $("select[name='DOMAIN']").val(),
ROOT_URL: $("select[name='ROOT_URL']").val(),
HTTP_ADDR: $("select[name='HTTP_ADDR']").val(),
HTTP_PORT: $("select[name='HTTP_PORT']").val(),
START_SSH_SERVER: $("select[name='START_SSH_SERVER']").val() || 'false',
SSH_PORT: $("select[name='SSH_PORT']").val(),
ROOT_URL: $("select[name='ROOT_URL']").val(),
REQUIRE_SIGNIN_VIEW: $("select[name='REQUIRE_SIGNIN_VIEW']").val() || 'false', REQUIRE_SIGNIN_VIEW: $("select[name='REQUIRE_SIGNIN_VIEW']").val() || 'false',
ENABLE_CAPTCHA: $("select[name='ENABLE_CAPTCHA']").val() || 'true',
DISABLE_REGISTRATION: $("select[name='DISABLE_REGISTRATION']").val() || 'false',
ENABLE_NOTIFY_MAIL: $("select[name='ENABLE_NOTIFY_MAIL']").val() || 'false',
FORCE_PRIVATE: $("select[name='FORCE_PRIVATE']").val() || 'false',
SHOW_FOOTER_BRANDING: $("select[name='SHOW_FOOTER_BRANDING']").val() || 'false',
SHOW_FOOTER_VERSION: $("select[name='SHOW_FOOTER_VERSION']").val() || 'false',
SHOW_FOOTER_TEMPLATE_LOAD_TIME: $("select[name='SHOW_FOOTER_TEMPLATE_LOAD_TIME']").val() || 'false',
}; };
gogsPost('submit_gogs_conf', data, function(ret_data){ gogsPost('submit_gogs_conf', data, function(ret_data){
var rdata = $.parseJSON(ret_data.data); var rdata = $.parseJSON(ret_data.data);
console.log(rdata);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
gogsSetConfig();
}); });
} }

@ -4,4 +4,5 @@ gunicorn
psutil psutil
pillow pillow
chardet chardet
MySQL-python MySQL-python
ConfigParser
Loading…
Cancel
Save