views.py 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. from datetime import datetime
  2. import re
  3. from app import log
  4. from app import register
  5. from app import device
  6. from app.app_config import *
  7. """
  8. desc:
  9. 播放指令执行函数
  10. Parameters:
  11. param1 - 播放相关的数据
  12. Returns:
  13. 执行状态
  14. """
  15. @register.action(PLAY)
  16. def action_play(data):
  17. if "data" in data:
  18. if not device.play(data.get(DATA)):
  19. log.logger.error("Play uri:%s on id:%s error" % (data.get(DATA).get("url"), data.get(ID)))
  20. return False
  21. log.logger.info("Play uri:%s on id:%s successfully" % (data.get(DATA).get("url"), data.get(ID)))
  22. return True
  23. else:
  24. log.logger.info("Data not found")
  25. return False
  26. """
  27. desc:
  28. 暂停指令执行函数
  29. Parameters:
  30. param1 - 暂停相关的数据
  31. Returns:
  32. 执行状态
  33. """
  34. @register.action(PAUSE)
  35. def action_pause(data):
  36. if "value" in data.get(DATA):
  37. value = data.get(DATA).get("value")
  38. else:
  39. log.logger.info("Value not found")
  40. return False
  41. if not device.pause(value):
  42. log.logger.error("Player pause on id:%s error" % (data.get(ID)))
  43. return False
  44. else:
  45. log.logger.info("Player pause on id:%s successfully" % (data.get(ID)))
  46. return True
  47. """
  48. desc:
  49. 恢复指令执行函数
  50. Parameters:
  51. param1 - 恢复相关的数据
  52. Returns:
  53. 执行状态
  54. """
  55. @register.action(RESUME)
  56. def action_resume(data):
  57. if "value" in data.get(DATA):
  58. value = data.get(DATA).get("value")
  59. else:
  60. log.logger.info("Value not found")
  61. return False
  62. if not device.resume(value):
  63. log.logger.error("Player resume on id:%s error" % (data.get(ID)))
  64. return False
  65. else:
  66. log.logger.info("Player resume on id:%s successfully" % (data.get(ID)))
  67. return True
  68. """
  69. desc:
  70. 停止播放指令执行函数
  71. Parameters:
  72. param1 - 停止播放相关的数据
  73. Returns:
  74. 执行状态
  75. """
  76. @register.action(STOP)
  77. def action_stop(data):
  78. if not device.stop():
  79. log.logger.error("Player stop on id:%s stop" % (data.get(ID)))
  80. log.logger.info("Player stop on id:%s successfully" % (data.get(ID)))
  81. return True
  82. """
  83. desc:
  84. 设置分机号指令执行函数
  85. Parameters:
  86. param1 - 设置分机号相关的数据
  87. Returns:
  88. 执行状态
  89. """
  90. @register.action(SET_EXTEN)
  91. def action_set_exten(data):
  92. if "data" in data:
  93. if HOST in data.get(DATA):
  94. host = data.get(DATA).get(HOST)
  95. if EXTEN in data.get(DATA):
  96. exten = data.get(DATA).get(EXTEN)
  97. if PASSWORD in data.get(DATA):
  98. password = data.get(DATA).get(PASSWORD)
  99. if not (host and exten and password):
  100. log.logger.warning("data not compelete")
  101. return False
  102. else:
  103. log.logger.info("data not found")
  104. return False
  105. if not device.set_exten(host, exten, password):
  106. log.logger.error("Set exten:%s on id:%s error" % (exten, data.get(ID)))
  107. log.logger.info("Set exten:%s on id:%s successfully" % (exten, data.get(ID)))
  108. return True
  109. """
  110. desc:
  111. 设置播放器音量指令执行函数
  112. Parameters:
  113. param1 - 音量相关的数据
  114. Returns:
  115. 执行状态
  116. """
  117. @register.action(SET_SOLF_VOLUME)
  118. def action_set_soft_volume(data):
  119. if "volume" in data.get(DATA):
  120. volume = int(data.get(DATA).get(VOLUME))
  121. else:
  122. log.logger.warning("volume not found!")
  123. return False
  124. if not device.set_soft_volume(volume):
  125. log.logger.error("Set volume:%d on id:%s error" % (volume, data.get(ID)))
  126. log.logger.info("Set soft volume:%d on id:%s successfully" % (volume, data.get(ID)))
  127. return True
  128. """
  129. desc:
  130. 设置硬件音量指令执行函数
  131. Parameters:
  132. param1 - 硬件音量相关的数据
  133. Returns:
  134. 执行状态
  135. """
  136. @register.action(SET_HARD_VOLUME)
  137. def action_set_hard_volume(data):
  138. if "volume" in data.get(DATA):
  139. volume = int(data.get(DATA).get(VOLUME))
  140. else:
  141. log.logger.warning("volume not found!")
  142. return False
  143. if not device.set_hard_volume(volume):
  144. log.logger.error("Set hard volume:%d on id:%s error" % (volume, data.get(ID)))
  145. log.logger.info("Set hard volume:%d on id:%s successfully" % (volume, data.get(ID)))
  146. return True
  147. """
  148. desc:
  149. 设置强控指令执行函数
  150. Parameters:
  151. param1 - 设置强控相关的数据
  152. Returns:
  153. 执行状态
  154. """
  155. @register.action(SET_HARD_VOLUME_CONTROL)
  156. def action_set_hard_volume_control(data):
  157. if "value" in data.get(DATA):
  158. value = data.get(DATA).get(VALUE)
  159. else:
  160. log.logger.warning("value not found!")
  161. return False
  162. if not device.set_hard_volume_control(value):
  163. log.logger.error("Set hard volume control:%s on id:%s error" % (value, data.get(ID)))
  164. log.logger.info("Set hard volume control:%s on id:%s successfully" % (value, data.get(ID)))
  165. return True
  166. """
  167. desc:
  168. 设置相关数据通用指令执行函数
  169. Parameters:
  170. param1 - 相关的数据
  171. Returns:
  172. 执行状态
  173. """
  174. @register.action(SET_SERVICE_SETTINGS)
  175. def action_set_service_settings(data):
  176. if "data" in data:
  177. data_obj = data.get(DATA)
  178. if not device.set_service_settings(data_obj):
  179. log.logger.error("Set service settings:%s on id:%s error" % (data_obj, data.get(ID)))
  180. return False
  181. log.logger.info("Set service settings:%s on id:%s successfully" % (data_obj, data.get(ID)))
  182. return True
  183. """
  184. desc:
  185. 开始推送rtsp指令执行函数
  186. Parameters:
  187. param1 - rtsp相关的数据
  188. Returns:
  189. 执行状态
  190. """
  191. @register.action("start-pull-rtsp")
  192. def action_start_pull_rtsp(data):
  193. if "src" in data.get(DATA):
  194. src = data.get(DATA).get("src")
  195. else:
  196. log.logger.warning("src not found!")
  197. return False
  198. if "dst" in data.get(DATA):
  199. dst = data.get(DATA).get("dst")
  200. else:
  201. log.logger.warning("dst not found!")
  202. return False
  203. if not device.start_pull_rtsp(src, dst):
  204. log.logger.error("Start pull rtsp src:%s on id:%s error" % (src, data.get(ID)))
  205. else:
  206. log.logger.info("Start pull rtsp src:%s on id:%s successfully" % (src, data.get(ID)))
  207. return True
  208. """
  209. desc:
  210. 停止推送rtsp指令执行函数
  211. Parameters:
  212. param1 - rtsp相关的数据
  213. Returns:
  214. 执行状态
  215. """
  216. @register.action("stop-pull-rtsp")
  217. def action_stop_pull_rtsp(data):
  218. if not device.stop_pull_rtsp():
  219. log.logger.error("Stop pull rtsp on id:%s error" % (data.get(ID)))
  220. else:
  221. log.logger.info("Stop pull rtsp on id:%s successfully" % (data.get(ID)))
  222. return True
  223. @register.action("reboot")
  224. def action_reboot(data):
  225. device.reboot(data.get("id"))
  226. log.logger.info("Reboot on id:%s successfully" % (data.get(ID)))
  227. return True
  228. @register.action("reset")
  229. def action_reset(data):
  230. device.reset(data.get("id"))
  231. log.logger.info("Reset on id:%s successfully" % (data.get(ID)))
  232. return True
  233. @register.action("upgrade")
  234. def action_upgrade(data):
  235. if not "data" in data:
  236. log.logger.info("Upgrade on id:%s miss argments" % (data.get(ID)))
  237. return False
  238. device.upgrade(data.get("id"), data.get(DATA))
  239. log.logger.info("Upgrade on id:%s executing..." % (data.get(ID)))
  240. return True
  241. @register.action("get-upgrade-status")
  242. def action_get_upgrade_status(data):
  243. device.getUpgradeStatus(data.get("id"))
  244. log.logger.info("Get upgrade status on id:%s successfully" % (data.get(ID)))
  245. return True
  246. @register.action("import-config")
  247. def action_import_config(data):
  248. if not "data" in data:
  249. log.logger.info("Get import config on id:%s miss argments" % (data.get(ID)))
  250. return False
  251. device.importConfig(data.get("id"), data.get(DATA))
  252. log.logger.info("Get import config on id:%s successfully" % (data.get(ID)))
  253. return True
  254. @register.action("relay-control")
  255. def action_relay_control(data):
  256. if not "data" in data:
  257. log.logger.info("Get relay control on id:%s miss argments" % (data.get(ID)))
  258. return False
  259. device.relayControl(data.get("id"), data.get(DATA))
  260. log.logger.info("Get relay control on id:%s successfully" % (data.get(ID)))
  261. return True