Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

consumers.py 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. # chat/consumers.py
  2. import json
  3. from channels.generic.websocket import WebsocketConsumer,AsyncWebsocketConsumer
  4. import wsps.tasks_loop
  5. import time
  6. p=print
  7. import wsps.gmod as gmod
  8. # ???
  9. Mixins = wsps.tasks_loop.Mixins
  10. # class ChatConsumer(WebsocketConsumer,wsps.tasks_loop.AclTaskMixin,wsps.tasks_loop.AconMixin):
  11. class DispConsumer():
  12. async def ws_rec_once(self, text_data):
  13. # print("WS~~ 12")
  14. msg_data = json.loads(text_data)
  15. if "key" in msg_data:
  16. key = "jm_" + msg_data["key"]
  17. mthd = getattr(self,key,None)
  18. if mthd:
  19. await mthd(msg_data)
  20. else:
  21. p("METHOD " + key + " NOT FOUND!")
  22. print("",end="",flush=True)
  23. class ChatConsumer(
  24. DispConsumer,
  25. Mixins.DevMixin,
  26. Mixins.LoneMixinA,
  27. Mixins.AclTaskMixin,
  28. Mixins.AconMixin,
  29. Mixins.LoneMixinB,
  30. Mixins.DevMroMixin,
  31. AsyncWebsocketConsumer,
  32. ):
  33. async def ws_conn0(self):
  34. print("",end="",flush=True)
  35. self.accept()
  36. async def ws_disconn(self, close_code):
  37. pass
  38. class DevRlist(*wsps.tasks_loop.eclass_factory(10)):pass
  39. # eclass_factory
  40. Mixins.DevRlist = DevRlist
  41. class RoomListConsumer(
  42. # Mixins.DevMixin,
  43. # Mixins.LoneMixinA,
  44. # Mixins.LoneMixinB,
  45. # Mixins.DevMroMixin,
  46. DispConsumer,
  47. Mixins.DevRlist,
  48. Mixins.AclTaskMixin,
  49. Mixins.AconMixin,
  50. AsyncWebsocketConsumer,
  51. ):
  52. async def ws_conn0(self):
  53. print("",end="",flush=True)
  54. self.accept()
  55. async def ws_disconn(self, close_code):
  56. pass
  57. Mixins.RoomListConsumer = RoomListConsumer
  58. Mixins.ChatConsumer = ChatConsumer