You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

92 lines
3.4 KiB

#-*- coding=utf-8 -*-
from base_view import *
###########################################网盘管理
@admin.route('/panage',methods=['GET','POST'])
def panage():
if request.method=='POST':
####网盘信息处理
for k,v in request.form.to_dict().items():
if 'share_path' in k or 'other_name' in k:
user=re.findall('\[(.*?)\]',k)[0]
key=re.findall('(.*)\[',k)[0]
InfoLogger().print_r('setting {}\'s {}\'s value {}'.format(user,key,v))
set_config(key,v,user)
config_path=os.path.join(config_dir,'self_config.py')
with open(config_path,'r') as f:
text=f.read()
redis_client.set('users',re.findall('od_users=([\w\W]*})',text)[0])
flash('更新成功')
redis_client.delete(key)
resp=MakeResponse(redirect(url_for('admin.panage')))
return resp
resp=MakeResponse(render_template('admin/pan_manage/pan_manage.html'))
return resp
@admin.route('/add_pan',methods=["POST","GET"])
def add_pan():
if request.method=='POST':
title=request.form.get('title','PyOne')
pan=request.form.get('pan',''.join(random.sample(string.ascii_letters,2)))
if pan in od_users.keys():
flash('盘位重复!')
return redirect(url_for('admin.add_pan'))
order=request.form.get('order',0,type=int)
info={"client_id":"",
"client_secret":"",
"share_path":"/",
"other_name":title,
"order":order
}
od_users[pan]=info
config_path=os.path.join(config_dir,'self_config.py')
with open(config_path,'r') as f:
old_text=f.read()
with open(config_path,'w') as f:
old_od=re.findall('od_users={[\w\W]*}',old_text)[0]
new_od='od_users='+json.dumps(od_users,indent=4,ensure_ascii=False)
new_text=old_text.replace(old_od,new_od,1)
f.write(new_text)
flash('添加盘符[{}]成功'.format(pan))
key='users'
redis_client.delete("od_users")
redis_client.delete(key)
return redirect(url_for('admin.add_pan'))
return render_template('admin/pan_manage/add_pan.html')
@admin.route('/rm_pan',methods=["POST","GET"])
def rm_pan():
if request.method=='POST':
pan=request.form.get('user')
od_users.pop(pan)
config_path=os.path.join(config_dir,'self_config.py')
with open(config_path,'r') as f:
old_text=f.read()
with open(config_path,'w') as f:
old_od=re.findall('od_users={[\w\W]*}',old_text)[0]
new_od='od_users='+json.dumps(od_users,indent=4,ensure_ascii=False)
new_text=old_text.replace(old_od,new_od,1)
f.write(new_text)
key='users'
redis_client.delete(key)
redis_client.delete("od_users")
mon_db.items.delete_many({'user':pan})
data=dict(msg='删除盘符[{}]成功'.format(pan),status=1)
return jsonify(data)
return render_template('admin/pan_manage/rm_pan.html')
@admin.route('/setDefaultPan',methods=["POST"])
def setDefaultPan():
pan=request.form.get('pan')
set_config('default_pan',pan)
redis_client.delete("od_users")
redis_client.set('default_pan',pan)
return jsonify({'msg':'修改成功'})