1
1

NotificationManager.py 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. from socketio import Server
  2. from pycs import app
  3. from pycs.database.File import File
  4. from pycs.database.Label import Label
  5. from pycs.database.Model import Model
  6. from pycs.database.Project import Project
  7. from pycs.database.Result import Result
  8. from pycs.frontend.util.JSONEncoder import JSONEncoder
  9. from pycs.jobs.Job import Job
  10. class NotificationManager:
  11. """
  12. send events via a socket.io connection
  13. """
  14. def __init__(self, sio: Server):
  15. self.sio = sio
  16. self.json = JSONEncoder()
  17. def __emit(self, name, obj):
  18. enc = self.json.default(obj)
  19. self.sio.emit(name, enc)
  20. def create_job(self, created_job: Job):
  21. """
  22. fire create-job event
  23. :param created_job:
  24. :return:
  25. """
  26. app.logger.debug(created_job)
  27. self.__emit('create-job', created_job)
  28. def edit_job(self, edited_job: Job):
  29. """
  30. fire edit-job event
  31. :param edited_job:
  32. :return:
  33. """
  34. app.logger.debug(edited_job)
  35. self.__emit('edit-job', edited_job)
  36. def remove_job(self, removed_job: Job):
  37. """
  38. fire remove-job event
  39. :param removed_job:
  40. :return:
  41. """
  42. app.logger.debug(removed_job)
  43. self.__emit('remove-job', removed_job)
  44. def create_model(self, created_model: Model):
  45. """
  46. fire create-model event
  47. :param created_model:
  48. :return:
  49. """
  50. app.logger.debug(created_model)
  51. self.__emit('create-model', created_model)
  52. def remove_model(self, removed_model: Model):
  53. """
  54. fire remove-model event
  55. :param removed_model:
  56. :return:
  57. """
  58. app.logger.debug(removed_model)
  59. self.__emit('remove-model', removed_model)
  60. def create_project(self, created_project: Project):
  61. """
  62. fire create-project event
  63. :param created_project:
  64. :return:
  65. """
  66. app.logger.debug(created_project)
  67. self.__emit('create-project', created_project)
  68. def remove_project(self, removed_project: Project):
  69. """
  70. fire remove-project event
  71. :param removed_project:
  72. :return:
  73. """
  74. app.logger.debug(removed_project)
  75. self.__emit('remove-project', removed_project)
  76. def edit_project(self, edited_project: Project):
  77. """
  78. fire edit-project event
  79. :param edited_project:
  80. :return:
  81. """
  82. app.logger.debug(edited_project)
  83. self.__emit('edit-project', edited_project)
  84. def create_label(self, created_label: Label):
  85. """
  86. fire create-label event
  87. :param created_label:
  88. :return:
  89. """
  90. app.logger.debug(created_label)
  91. self.__emit('create-label', created_label)
  92. def edit_label(self, edited_label: Label):
  93. """
  94. fire edit-label event
  95. :param edited_label:
  96. :return:
  97. """
  98. app.logger.debug(edited_label)
  99. self.__emit('edit-label', edited_label)
  100. def remove_label(self, removed_label: Label):
  101. """
  102. fire remove-label event
  103. :param removed_label:
  104. :return:
  105. """
  106. app.logger.debug(removed_label)
  107. self.__emit('remove-label', removed_label)
  108. def create_file(self, created_file: File):
  109. """
  110. fire create-file event
  111. :param created_file:
  112. :return:
  113. """
  114. app.logger.debug(created_file)
  115. self.__emit('create-file', created_file)
  116. def edit_file(self, edited_file: File):
  117. """
  118. fire edit-file event
  119. :param edited_file:
  120. :return:
  121. """
  122. app.logger.debug(edited_file)
  123. self.__emit('edit-file', edited_file)
  124. def remove_file(self, removed_file: File):
  125. """
  126. fire remove-file event
  127. :param removed_file:
  128. :return:
  129. """
  130. app.logger.debug(removed_file)
  131. self.__emit('remove-file', removed_file)
  132. def create_result(self, created_result: Result):
  133. """
  134. fire create-result event
  135. :param created_result:
  136. :return:
  137. """
  138. app.logger.debug(created_result)
  139. self.__emit('create-result', created_result)
  140. def edit_result(self, edited_result: Result):
  141. """
  142. fire edit-result event
  143. :param edited_result:
  144. :return:
  145. """
  146. app.logger.debug(edited_result)
  147. self.__emit('edit-result', edited_result)
  148. def remove_result(self, removed_result: Result):
  149. """
  150. fire remove-result event
  151. :param removed_result:
  152. :return:
  153. """
  154. app.logger.debug(removed_result)
  155. self.__emit('remove-result', removed_result)