def _on_query(self, message): qid = message.qid doc = message.doc source = self.identity(message.receiver) target = self.identity(message.sender) if 'expiration' in message: expiration = message['expiration'] else: expiration = None if not doc.can_read(target): return message.error(errors.PERMISSION_CANNOT_READ) sub = Subscription( source.location, target.location, doc.name, expiration ) self.parent.subscribe(sub) self.owner.reply( doc, 'deje-sub-add-response', { 'qid': qid, 'subscription': sub.serialize(), }, target.key )
def _on_response(self, message): qid = message.qid subs = message['subs'] # Deserialize for h in subs: sub_obj = Subscription() sub_obj.deserialize(subs[h]) subs[h] = sub_obj self.toplevel._on_response(qid, [subs])
def _on_response(self, message): qid = message.qid sub = Subscription() sub.deserialize(message['subscription']) self.parent.subscribe(sub) self.toplevel._on_response(qid, [sub])