site.py 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. # -*- coding: utf-8 -*-
  2. """
  3. demeter web page
  4. name:site.py 站点相关
  5. author:rabin
  6. """
  7. from .__load__ import *
  8. class site_path(Load):
  9. @Web.auth
  10. @Web.setting
  11. def get(self):
  12. self.set(
  13. name = u'站点管理'
  14. ,path = '/site/site'
  15. ,width = '600'
  16. ,height = '600'
  17. ,search = (('label-1','workdate-time-start','workdate-time-end','name-input-mlike'), (u'日期范围',u'开始时间',u'截止时间',u'站点名称'))
  18. ,thead = (u'站点key', u'站点名称', u'快捷功能', u'站点token', u'更新时间')
  19. ,tbody = ('key','name','func', 'token', 'cdate')
  20. ,state = True
  21. )
  22. menu = (
  23. {'name':'转换文件列表', 'url':'/site/convert'}
  24. ,
  25. )
  26. self.list('site')
  27. if self.data['list']:
  28. for key, value in enumerate(self.data['list']):
  29. id = str(value['id'])
  30. param = '?search_site_id-select-=' + id
  31. self.data['list'][key]['func'] = ''
  32. for i in menu:
  33. self.data['list'][key]['func'] = self.data['list'][key]['func'] + '<a href="'+i['url']+''+param+'">'+i['name']+'</a>&nbsp;&nbsp;&nbsp;&nbsp;'
  34. self.show('list')
  35. class site_update_path(Load):
  36. @Web.auth
  37. @Web.setting
  38. def get(self):
  39. self.set(
  40. path = '/site/site'
  41. ,label = (u'站点名称',u'站点网址',u'站点key',u'站点token')
  42. ,update = ('name-input-required','link-input-required','key-input-required','token-input-required')
  43. )
  44. self.one('site')
  45. self.show('update')
  46. @Web.auth
  47. @Web.setting
  48. def post(self):
  49. self.update('site')
  50. @Web.auth
  51. @Web.setting
  52. def delete(self):
  53. self.drop('site')
  54. class convert_path(Load):
  55. @Web.auth
  56. @Web.setting
  57. def get(self):
  58. self.set(
  59. name = u'转换的文件'
  60. ,path = '/site/convert'
  61. ,width = '600'
  62. ,height = '600'
  63. ,search = (('label-1','cdate-time-start','cdate-time-end','site_id-select-','name-input-mlike'), (u'日期范围',u'开始时间',u'截止时间',u'选择站点',u'文件名'))
  64. ,thead = (u'文件id',u'所属站点', u'文件名', u'访问路径', u'状态', u'更新时间')
  65. ,tbody = ('id','site', 'name', 'url', 'status', 'cdate')
  66. ,state = True
  67. )
  68. self.data['common']['search_site_id-select-'] = self.service('common').list('site')
  69. self.list('convert')
  70. status = {}
  71. status[1] = '待机'
  72. status[2] = '转换中'
  73. status[3] = '转换完成'
  74. status[4] = '转换失败'
  75. if self.data['list']:
  76. for key, value in enumerate(self.data['list']):
  77. site = self.service('common').one('site', id=value['site_id'])
  78. self.data['list'][key]['site'] = site['name']
  79. if value['status'] == 3:
  80. self.data['list'][key]['url'] = '<a href="'+str(value['url'])+'" target="_blank">[点此访问]</a>'
  81. else:
  82. self.data['list'][key]['url'] = '无法访问'
  83. self.data['list'][key]['status'] = status[value['status']]
  84. self.show('list')
  85. class convert_update_path(Load):
  86. @Web.auth
  87. @Web.setting
  88. def get(self):
  89. status = [
  90. {'id':'1', 'name': '待机'},
  91. ]
  92. self.set(
  93. path = '/site/convert'
  94. ,label = (u'所属站点', u'源文件路径')
  95. ,update = ('site_id-select-required', 'file-input-required', 'status-select-required')
  96. ,update_site_id = self.service('common').list('site')
  97. ,update_status = status
  98. )
  99. self.one('convert')
  100. self.show('update')
  101. @Web.auth
  102. @Web.setting
  103. def post(self):
  104. model = Demeter.model('site')
  105. model.id = self.data['update']['site_id']
  106. site = model.select(type='fetchone')
  107. info = self.service('convert').getFile(site['key'], self.data['update']['file'])
  108. self.data['update']['name'] = info['name']
  109. self.data['update']['key'] = info['key']
  110. self.data['update']['ext'] = info['ext']
  111. self.data['update']['local'] = info['local']
  112. self.data['update']['path'] = info['path']
  113. self.data['update']['pdf'] = info['pdf']
  114. self.data['update']['html'] = info['html']
  115. self.data['update']['url'] = info['url']
  116. self.update('convert')
  117. @Web.auth
  118. @Web.setting
  119. def delete(self):
  120. self.drop('convert')