main.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. # -*- coding: utf-8 -*-
  2. """
  3. demeter web page
  4. name:work.py
  5. author:rabin
  6. """
  7. from .__load__ import *
  8. # 请求转换 /main/convert 接口必须后端获取,token不允许暴露
  9. class convert_path(Load):
  10. @Web.setting
  11. def get(self):
  12. key = self.input('site')
  13. token = self.input('token')
  14. file = self.input('file')
  15. site = Demeter.model('site')
  16. site.key = key
  17. data = {}
  18. data['site'] = site.select(type='fetchone')
  19. if not file:
  20. self.out('错误的文件信息')
  21. if not data['site']:
  22. self.out('站点信息不存在')
  23. if data['site']['token'] != token:
  24. self.out('验证失败')
  25. service = Demeter.service('convert')
  26. data['file'] = service.update(data['site']['id'], key, file)
  27. # 推入到redis队列
  28. if data['file']['status'] == 1:
  29. redis = Demeter.redis()
  30. config = Demeter.config['redis']
  31. send = {}
  32. #redis.rpush(config['name'], data['file']['id'])
  33. self.out('yes', data)
  34. # 获取信息 后端接口,token不允许暴露
  35. class get_path(Load):
  36. @Web.setting
  37. def get(self):
  38. key = self.input('site')
  39. token = self.input('token')
  40. file = self.input('file')
  41. site = Demeter.model('site')
  42. site.key = key
  43. data = {}
  44. data['site'] = site.select(type='fetchone')
  45. if not file:
  46. self.out('错误的文件信息')
  47. if not data['site']:
  48. self.out('站点信息不存在')
  49. if data['site']['token'] != token:
  50. self.out('验证失败')
  51. service = Demeter.service('convert')
  52. data['file'] = service.get(data['site']['id'], key, file);
  53. if data['file']:
  54. url = self.request.protocol + "://" + self.request.host
  55. data['file']['url'] = url + data['file']['url']
  56. self.out('yes', data)
  57. # 授权用户可以访问html的接口 后端接口,token不允许暴露
  58. class auth_path(Load):
  59. @Web.setting
  60. def get(self):
  61. key = int(self.input('site', 1))
  62. user = self.input('user')
  63. token = self.input('token')
  64. file = self.input('file')
  65. site = Demeter.model('site')
  66. site.key = key
  67. data = {}
  68. data['site'] = site.select(type='fetchone')
  69. if not file:
  70. self.out('错误的文件信息')
  71. if not data['site']:
  72. self.out('站点信息不存在')
  73. if data['site']['token'] != token:
  74. self.out('验证失败')
  75. service = Demeter.service('convert')
  76. data['file'] = service.get(data['site']['id'], key, file);
  77. # 授权之后生成一个key,用于前端权限验证
  78. self.out('yes', data)
  79. # 读取html 带有权限控制 该接口为前端接口 需要有授权接口
  80. class view_path(Load):
  81. @Web.setting
  82. def get(self):
  83. key = int(self.input('site', 1))
  84. token = self.input('token')
  85. file = self.input('file')
  86. site = Demeter.model('site')
  87. site.key = key
  88. data = {}
  89. data['site'] = site.select(type='fetchone')
  90. if not file:
  91. self.out('错误的文件信息')
  92. if not data['site']:
  93. self.out('站点信息不存在')
  94. if data['site']['token'] != token:
  95. self.out('验证失败')
  96. service = Demeter.service('convert')
  97. data['file'] = service.get(data['site']['id'], key, file);
  98. self.out('yes', data)