コード例 #1
0
ファイル: context.py プロジェクト: blueshed/spddo-chat
    def flushed(self, request=None):
        BaseContext.flushed(self)
        sync_user_subs = set()
        with self.session as session:
            for signal, message in self.broadcasts:
                if signal in ["user-added", "user-changed"]:
                    user = session.query(model.User).get(message["id"])
                    IOLoop.instance().add_future(
                        sync_auth("save_user.js", **{
                            'user_id': user.id,
                            'name': user.name,
                            'email': user.email,
                            'password': user.password
                        }),
                        self.synced)
                elif signal in ["service-added", "service-changed"]:
                    service = session.query(model.Service).get(message["id"])
                    IOLoop.instance().add_future(
                        sync_auth("save_service.js", **{
                            "service_id": service.id,
                            "name": service.name,
                            "cookie_url": service.token_url,
                            "cors": service.cors
                        }),
                        self.synced)
                elif signal == "subscription-active":
                    sync_user_subs.add(message.get("user_id"))

                for user_id in sync_user_subs:
                    subs = {
                        "user_id": user_id,
                        "service_ids": [s.service_id
                                        for s in active_subscriptions_for(
                                            session,
                                            user_id,
                                            loaded=False)]
                    }
                    IOLoop.instance().add_future(
                        sync_auth("set_subscriptions.js", **subs),
                        self.synced)
コード例 #2
0
ファイル: context.py プロジェクト: blueshed/spddo-chat
 def __init__(self, client_id, action_id, action, cookies=None,
              handler=None):
     BaseContext.__init__(self, client_id, action_id, action,
                          cookies=cookies, handler=handler)
     if handler and handler.request.files:
         self.files = handler.request.files
コード例 #3
0
ファイル: context.py プロジェクト: blueshed/spddo-chat
 def broadcast(self, signal, message, accl=None):
     BaseContext.broadcast(self, signal, message, accl=accl)
     return message