main.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  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. # 从get、post获取数据,默认值为1
  13. key = int(self.input('site', 1))
  14. token = self.input('token')
  15. file = self.input('file')
  16. site = Demeter.model('site')
  17. site.key = key
  18. data = {}
  19. data['site'] = site.select(type='fetchone')
  20. if not file:
  21. self.out('错误的文件信息')
  22. if not data['site']:
  23. self.out('站点信息不存在')
  24. if data['site']['token'] != token:
  25. self.out('验证失败')
  26. service = Demeter.service('convert')
  27. data['file'] = service.update(data['site']['id'], key, file)
  28. # 推入到redis队列
  29. if data['file']['status'] == 1:
  30. redis = Demeter.redis()
  31. config = Demeter.config['redis']
  32. send = {}
  33. #redis.rpush(config['name'], data['file']['id'])
  34. self.out('yes', data)
  35. # 获取信息 后端接口,token不允许暴露
  36. class get_path(Load):
  37. @Web.setting
  38. def get(self):
  39. key = int(self.input('site', 1))
  40. token = self.input('token')
  41. file = self.input('file')
  42. site = Demeter.model('site')
  43. site.key = key
  44. data = {}
  45. data['site'] = site.select(type='fetchone')
  46. if not file:
  47. self.out('错误的文件信息')
  48. if not data['site']:
  49. self.out('站点信息不存在')
  50. if data['site']['token'] != token:
  51. self.out('验证失败')
  52. service = Demeter.service('convert')
  53. data['file'] = service.get(data['site']['id'], key, file);
  54. self.out('yes', data)
  55. # 授权用户可以访问html的接口 后端接口,token不允许暴露
  56. class auth_path(Load):
  57. @Web.setting
  58. def get(self):
  59. key = int(self.input('site', 1))
  60. user = self.input('user')
  61. token = self.input('token')
  62. file = self.input('file')
  63. site = Demeter.model('site')
  64. site.key = key
  65. data = {}
  66. data['site'] = site.select(type='fetchone')
  67. if not file:
  68. self.out('错误的文件信息')
  69. if not data['site']:
  70. self.out('站点信息不存在')
  71. if data['site']['token'] != token:
  72. self.out('验证失败')
  73. service = Demeter.service('convert')
  74. data['file'] = service.get(data['site']['id'], key, file);
  75. # 授权之后生成一个key,用于前端权限验证
  76. self.out('yes', data)
  77. # 读取html 带有权限控制 该接口为前端接口 需要有授权接口
  78. class view_path(Load):
  79. @Web.setting
  80. def get(self):
  81. key = int(self.input('site', 1))
  82. token = self.input('token')
  83. file = self.input('file')
  84. site = Demeter.model('site')
  85. site.key = key
  86. data = {}
  87. data['site'] = site.select(type='fetchone')
  88. if not file:
  89. self.out('错误的文件信息')
  90. if not data['site']:
  91. self.out('站点信息不存在')
  92. if data['site']['token'] != token:
  93. self.out('验证失败')
  94. service = Demeter.service('convert')
  95. data['file'] = service.get(data['site']['id'], key, file);
  96. self.out('yes', data)