예제 #1
0
 def push_user_notification(self, event_uuid, team_id, user_id):
     ''' Push to one user '''
     if team_id in self.notify_connections and user_id in self.notify_connections[team_id]:
         json = Notification.by_event_uuid(event_uuid).to_dict()
         for wsocket in self.notify_connections[team_id][user_id]:
             wsocket.write_message(json)
             Notification.delivered(wsocket.user_id, event_uuid)
예제 #2
0
 def push_user_notification(self, event_uuid, team_id, user_id):
     ''' Push to one user '''
     if team_id in self.notify_connections and user_id in self.notify_connections[
             team_id]:
         json = Notification.by_event_uuid(event_uuid).to_dict()
         for wsocket in self.notify_connections[team_id][user_id]:
             wsocket.write_message(json)
             Notification.delivered(wsocket.user_id, event_uuid)
예제 #3
0
 def push_broadcast_notification(self, event_uuid):
     ''' Push to everyone '''
     json = Notification.by_event_uuid(event_uuid).to_dict()
     for team_id in self.notify_connections:
         for user_id in self.notify_connections[team_id]:
             for wsocket in self.notify_connections[team_id][user_id]:
                 wsocket.write_message(json)
                 # Only mark delivered for non-public users
                 if wsocket.user_id != '$public_user':
                     Notification.delivered(user_id, event_uuid)
예제 #4
0
 def push_broadcast_notification(self, event_uuid):
     ''' Push to everyone '''
     json = Notification.by_event_uuid(event_uuid).to_dict()
     for team_id in self.notify_connections:
         for user_id in self.notify_connections[team_id]:
             for wsocket in self.notify_connections[team_id][user_id]:
                 wsocket.write_message(json)
                 # Only mark delivered for non-public users
                 if wsocket.user_id != '$public_user':
                     Notification.delivered(user_id, event_uuid)
예제 #5
0
 def open(self):
     ''' When we receive a new websocket connect '''
     if self.session is not None and 'team_id' in self.session:
         logging.debug("[Web Socket] Opened new websocket with user id: %s" % (
             self.session['user_id'],
         ))
         notifications = Notification.new_messages(self.session['user_id'])
         logging.debug("[Web Socket] %d new notification(s) for user id %d" % (
             len(notifications), self.session['user_id']),
         )
         for notify in notifications:
             self.write_message(notify.to_dict())
             Notification.delivered(notify.user_id, notify.event_uuid)
     else:
         logging.debug("[Web Socket] Opened public notification socket.")
     self.start_time = datetime.now()
     self.manager.add_connection(self)