main.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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. self.out('yes', data)
  54. # 授权用户可以访问html的接口 后端接口,token不允许暴露
  55. class auth_path(Load):
  56. @Web.setting
  57. def get(self):
  58. key = int(self.input('site', 1))
  59. user = self.input('user')
  60. token = self.input('token')
  61. file = self.input('file')
  62. site = Demeter.model('site')
  63. site.key = key
  64. data = {}
  65. data['site'] = site.select(type='fetchone')
  66. if not file:
  67. self.out('错误的文件信息')
  68. if not data['site']:
  69. self.out('站点信息不存在')
  70. if data['site']['token'] != token:
  71. self.out('验证失败')
  72. service = Demeter.service('convert')
  73. data['file'] = service.get(data['site']['id'], key, file);
  74. # 授权之后生成一个key,用于前端权限验证
  75. self.out('yes', data)
  76. # 读取html 带有权限控制 该接口为前端接口 需要有授权接口
  77. class view_path(Load):
  78. @Web.setting
  79. def get(self):
  80. key = int(self.input('site', 1))
  81. token = self.input('token')
  82. file = self.input('file')
  83. site = Demeter.model('site')
  84. site.key = key
  85. data = {}
  86. data['site'] = site.select(type='fetchone')
  87. if not file:
  88. self.out('错误的文件信息')
  89. if not data['site']:
  90. self.out('站点信息不存在')
  91. if data['site']['token'] != token:
  92. self.out('验证失败')
  93. service = Demeter.service('convert')
  94. data['file'] = service.get(data['site']['id'], key, file);
  95. self.out('yes', data)