|
@@ -0,0 +1,129 @@
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
+"""
|
|
|
+ demeter web page
|
|
|
+ name:site.py 站点相关
|
|
|
+ author:rabin
|
|
|
+"""
|
|
|
+from .__load__ import *
|
|
|
+
|
|
|
+class site_path(Load):
|
|
|
+ @Web.auth
|
|
|
+ @Web.setting
|
|
|
+ def get(self):
|
|
|
+ self.set(
|
|
|
+ name = u'站点管理'
|
|
|
+ ,path = '/site/site'
|
|
|
+ ,width = '600'
|
|
|
+ ,height = '600'
|
|
|
+ ,search = (('label-1','workdate-time-start','workdate-time-end','name-input-mlike'), (u'日期范围',u'开始时间',u'截止时间',u'站点名称'))
|
|
|
+ ,thead = (u'站点key', u'站点名称', u'快捷功能', u'站点token', u'更新时间')
|
|
|
+ ,tbody = ('key','name','func', 'token', 'cdate')
|
|
|
+ ,state = True
|
|
|
+ )
|
|
|
+ menu = (
|
|
|
+ {'name':'转换文件列表', 'url':'/site/convert'}
|
|
|
+ ,
|
|
|
+ )
|
|
|
+ self.list('site')
|
|
|
+ if self.data['list']:
|
|
|
+ for key, value in enumerate(self.data['list']):
|
|
|
+ id = str(value['id'])
|
|
|
+ param = '?search_site_id-select-=' + id
|
|
|
+ self.data['list'][key]['func'] = ''
|
|
|
+ for i in menu:
|
|
|
+ self.data['list'][key]['func'] = self.data['list'][key]['func'] + '<a href="'+i['url']+''+param+'">'+i['name']+'</a> '
|
|
|
+ self.show('list')
|
|
|
+
|
|
|
+class site_update_path(Load):
|
|
|
+ @Web.auth
|
|
|
+ @Web.setting
|
|
|
+ def get(self):
|
|
|
+ self.set(
|
|
|
+ path = '/site/site'
|
|
|
+ ,label = (u'站点名称',u'站点网址',u'站点key',u'站点token')
|
|
|
+ ,update = ('name-input-required','link-input-required','key-input-required','token-input-required')
|
|
|
+ )
|
|
|
+ self.one('site')
|
|
|
+ self.show('update')
|
|
|
+ @Web.auth
|
|
|
+ @Web.setting
|
|
|
+ def post(self):
|
|
|
+ self.update('site')
|
|
|
+ @Web.auth
|
|
|
+ @Web.setting
|
|
|
+ def delete(self):
|
|
|
+ self.drop('site')
|
|
|
+
|
|
|
+class convert_path(Load):
|
|
|
+ @Web.auth
|
|
|
+ @Web.setting
|
|
|
+ def get(self):
|
|
|
+ self.set(
|
|
|
+ name = u'转换的文件'
|
|
|
+ ,path = '/site/convert'
|
|
|
+ ,width = '600'
|
|
|
+ ,height = '600'
|
|
|
+ ,search = (('label-1','cdate-time-start','cdate-time-end','site_id-select-','name-input-mlike'), (u'日期范围',u'开始时间',u'截止时间',u'选择站点',u'文件名'))
|
|
|
+ ,thead = (u'所属站点', u'文件名', u'访问路径', u'状态', u'更新时间')
|
|
|
+ ,tbody = ('site', 'name', 'url', 'status', 'cdate')
|
|
|
+ ,state = True
|
|
|
+ )
|
|
|
+ self.data['common']['search_site_id-select-'] = self.service('common').list('site')
|
|
|
+ self.list('convert')
|
|
|
+ status = {}
|
|
|
+ status[1] = '待机'
|
|
|
+ status[2] = '转换中'
|
|
|
+ status[3] = '转换完成'
|
|
|
+ status[4] = '转换失败'
|
|
|
+ if self.data['list']:
|
|
|
+ for key, value in enumerate(self.data['list']):
|
|
|
+ site = self.service('common').one('site', id=value['site_id'])
|
|
|
+ self.data['list'][key]['site'] = site['name']
|
|
|
+ if value['status'] == 3:
|
|
|
+ self.data['list'][key]['url'] = '<a href="'+str(value['url'])+'" target="_blank">[点此访问]</a>'
|
|
|
+ else:
|
|
|
+ self.data['list'][key]['url'] = '无法访问'
|
|
|
+ self.data['list'][key]['status'] = status[value['status']]
|
|
|
+
|
|
|
+ self.show('list')
|
|
|
+
|
|
|
+class convert_update_path(Load):
|
|
|
+ @Web.auth
|
|
|
+ @Web.setting
|
|
|
+ def get(self):
|
|
|
+ status = [
|
|
|
+ {'id':'1', 'name': '待机'},
|
|
|
+ ]
|
|
|
+ self.set(
|
|
|
+ path = '/site/convert'
|
|
|
+ ,label = (u'所属站点', u'源文件路径')
|
|
|
+ ,update = ('site_id-select-required', 'file-input-required', 'status-select-required')
|
|
|
+ ,update_site_id = self.service('common').list('site')
|
|
|
+ ,update_status = status
|
|
|
+ )
|
|
|
+ self.one('convert')
|
|
|
+ self.show('update')
|
|
|
+ @Web.auth
|
|
|
+ @Web.setting
|
|
|
+ def post(self):
|
|
|
+ model = Demeter.model('site')
|
|
|
+ model.id = self.data['update']['site_id']
|
|
|
+ site = model.select(type='fetchone')
|
|
|
+
|
|
|
+
|
|
|
+ info = self.service('convert').getFile(site['key'], self.data['update']['file'])
|
|
|
+ self.data['update']['name'] = info['name']
|
|
|
+ self.data['update']['key'] = info['key']
|
|
|
+ self.data['update']['ext'] = info['ext']
|
|
|
+
|
|
|
+ self.data['update']['local'] = info['local']
|
|
|
+ self.data['update']['path'] = info['path']
|
|
|
+ self.data['update']['pdf'] = info['pdf']
|
|
|
+ self.data['update']['html'] = info['html']
|
|
|
+ self.data['update']['url'] = info['url']
|
|
|
+
|
|
|
+ self.update('convert')
|
|
|
+ @Web.auth
|
|
|
+ @Web.setting
|
|
|
+ def delete(self):
|
|
|
+ self.drop('convert')
|