hardware.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. demeter web page
  5. name:hardware.py 硬件相关页面
  6. author:rabin
  7. """
  8. from __load__ import *
  9. class hardware_path(Load):
  10. @Web.auth
  11. @Web.setting
  12. def get(self):
  13. self.common(
  14. name = u'硬件设备'
  15. ,path = '/hardware/hardware'
  16. ,width = '600'
  17. ,height = '600'
  18. ,add = False
  19. ,edit = False
  20. ,search = (('farm_id-select-','hardware_type-select-','hardware_id-input-mlike'), (u'选择农场',u'硬件类型', u'硬件id'))
  21. ,thead = (u'所属农场', u'硬件类型', u'硬件id',u'网关名',u'设备名', u'接入时间')
  22. ,tbody = ('farm','type', 'hardware_id', 'gateway', 'device', 'cdate')
  23. ,state = False
  24. )
  25. self.data['common']['search_farm_id-select-'] = Demeter.config['setting']['farmList']
  26. self.data['common']['search_hardware_type-select-'] = self.service('common').list('hardware_type')
  27. self.commonList('hardware')
  28. if self.data['list']:
  29. for key, value in enumerate(self.data['list']):
  30. farm = self.service('common').one('farm', id=value['farm_id'])
  31. self.data['list'][key]['farm'] = farm['name']
  32. htype = self.service('common').one('hardware_type', id=value['hardware_type'])
  33. self.data['list'][key]['type'] = htype['name']
  34. gateway = self.service('common').one('device_gateway', id=value['gateway_id'])
  35. self.data['list'][key]['gateway'] = '无效'
  36. if gateway:
  37. self.data['list'][key]['gateway'] = gateway['name']
  38. self.data['list'][key]['device'] = '无效'
  39. if value['device_id']:
  40. device = self.service('common').one('device_info', id=value['device_id'])
  41. if device:
  42. self.data['list'][key]['device'] = device['name']
  43. self.commonView('list')
  44. class hardware_update_path(Load):
  45. @Web.auth
  46. @Web.setting
  47. def get(self):
  48. self.common(
  49. path = '/hardware/hardware'
  50. ,label = (u'硬件类型',u'硬件id')
  51. ,update = ('hardware_type-select-required','hardware_id-input-required')
  52. ,update_hardware_type = self.service('common').list('hardware_type')
  53. )
  54. self.commonOne('hardware')
  55. self.commonView('update')
  56. @Web.auth
  57. @Web.setting
  58. def post(self):
  59. self.commonUpdate('hardware')
  60. @Web.auth
  61. @Web.setting
  62. def delete(self):
  63. self.commonDelete('hardware')
  64. class type_path(Load):
  65. @Web.auth
  66. @Web.setting
  67. def get(self):
  68. self.common(
  69. name = u'硬件类型'
  70. ,path = '/hardware/type'
  71. ,width = '600'
  72. ,height = '300'
  73. ,search = (('name-input-mlike',), (u'类型名称',))
  74. ,thead = (u'类型ID',u'类型名称',u'类型key', u'更新时间')
  75. ,tbody = ('id', 'name', 'key', 'cdate')
  76. ,state = False
  77. )
  78. self.commonList('hardware_type')
  79. self.commonView('list')
  80. class type_update_path(Load):
  81. @Web.auth
  82. @Web.setting
  83. def get(self):
  84. self.common(
  85. path = '/hardware/type'
  86. ,label = (u'类型名称', u'类型key')
  87. ,update = ('name-input-required', 'key-input-required')
  88. )
  89. self.commonOne('hardware_type')
  90. self.commonView('update')
  91. @Web.auth
  92. @Web.setting
  93. def post(self):
  94. self.commonUpdate('hardware_type')
  95. @Web.auth
  96. @Web.setting
  97. def delete(self):
  98. self.commonDelete('hardware_type')