def get_update_status(self, rpc, webview, id): for hook in hooks.Hook("digsby.updater.status"): res = hook() if res: self.Dsuccess(webview, id, status=res) break else: self.Dsuccess(webview, id, status='idle')
def setup(self): with self.lock: if self.did_setup: warnings.warn('reinitialized AddOn StatusPrefUpgrader') return self.did_setup = True hooks.Hook('digsby.accounts.released.async', 'status_tag').register(self.check_accounts)
magic_header_bytes = '\x81\x1a\x18\xbc\x0el\x18G\xa5\x91o\x18\xdc\xc7o\x1a\x01\x00' response_encoding_data = (struct.pack('<I', len(response_data)) + response_data + struct.pack('<I', len(content_type)) + content_type) ex_data = (magic_header_bytes + struct.pack('<I', len(request)) + request + '\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + struct.pack('<I', len(response_encoding_data)) + response_encoding_data) return struct.pack('<H', 39 + len(request)) + ex_data def build_response_data(self, request, content_type): if request != 'Away Status Message': # this is the only observed value for this so far return '' # currently ignores requested content_type status_message = self.protocol.self_buddy.status_message if status_message is None: return '' else: return status_message.encode('utf8') def initialize(): log.info('\tloading rendezvous handler: extended messages') import oscar.rendezvous.peer as peer peer.register_rdv_factory('extended_msgs', IcqServerRelayer) hooks.Hook('oscar.rdv.load').register(initialize)
def get_component_factory(self, type): return list(hooks.Hook("digsby.component.%s" % type, impl = self.provider_id))[0]