Mercurial > libervia-backend
diff src/plugins/plugin_xep_0047.py @ 594:e629371a28d3
Fix pep8 support in src/plugins.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Fri, 18 Jan 2013 17:55:35 +0100 |
parents | beaf6bec2fcd |
children | 84a6e83157c2 |
line wrap: on
line diff
--- a/src/plugins/plugin_xep_0047.py Mon Jan 21 00:59:50 2013 +0100 +++ b/src/plugins/plugin_xep_0047.py Fri Jan 18 17:55:35 2013 +0100 @@ -44,19 +44,20 @@ IBB_CLOSE = IQ_SET + '/close[@xmlns="' + NS_IBB + '" and @sid="%s"]' IBB_IQ_DATA = IQ_SET + '/data[@xmlns="' + NS_IBB + '" and @sid="%s"]' IBB_MESSAGE_DATA = MESSAGE + '/data[@xmlns="' + NS_IBB + '" and @sid="%s"]' -TIMEOUT = 60 #timeout for workflow +TIMEOUT = 60 # timeout for workflow BLOCK_SIZE = 4096 PLUGIN_INFO = { -"name": "In-Band Bytestream Plugin", -"import_name": "XEP-0047", -"type": "XEP", -"protocols": ["XEP-0047"], -"main": "XEP_0047", -"handler": "yes", -"description": _("""Implementation of In-Band Bytestreams""") + "name": "In-Band Bytestream Plugin", + "import_name": "XEP-0047", + "type": "XEP", + "protocols": ["XEP-0047"], + "main": "XEP_0047", + "handler": "yes", + "description": _("""Implementation of In-Band Bytestreams""") } + class XEP_0047(object): NAMESPACE = NS_IBB @@ -71,7 +72,7 @@ client = self.host.getClient(profile) if not client: raise ProfileNotInCacheError - client.xep_0047_current_stream = {} #key: stream_id, value: data(dict) + client.xep_0047_current_stream = {} # key: stream_id, value: data(dict) def _timeOut(self, sid, profile): """Delecte current_stream id, called after timeout @@ -87,14 +88,14 @@ if not client: warning(_("Client no more in cache")) return - if not client.xep_0047_current_stream.has_key(sid): + if sid not in client.xep_0047_current_stream: warning(_("kill id called on a non existant id")) return - if client.xep_0047_current_stream[sid].has_key("observer_cb"): + if "observer_cb" in client.xep_0047_current_stream[sid]: client.xmlstream.removeObserver(client.xep_0047_current_stream[sid]["event_data"], client.xep_0047_current_stream[sid]["observer_cb"]) if client.xep_0047_current_stream[sid]['timer'].active(): client.xep_0047_current_stream[sid]['timer'].cancel() - if client.xep_0047_current_stream[sid].has_key("size"): + if "size" in client.xep_0047_current_stream[sid]: self.host.removeProgressCB(sid, profile) file_obj = client.xep_0047_current_stream[sid]['file_obj'] @@ -145,7 +146,7 @@ def streamOpening(self, IQ, profile): debug(_("IBB stream opening")) - IQ.handled=True + IQ.handled = True client = self.host.getClient(profile) if not client: raise ProfileNotInCacheError @@ -153,7 +154,7 @@ block_size = open_elt.getAttribute('block-size') sid = open_elt.getAttribute('sid') stanza = open_elt.getAttribute('stanza', 'iq') - if not sid or not block_size or int(block_size)>65535: + if not sid or not block_size or int(block_size) > 65535: warning(_("malformed IBB transfer: %s" % IQ['id'])) self.sendNotAcceptableError(IQ['id'], IQ['from'], client.xmlstream) return @@ -173,12 +174,12 @@ client.xep_0047_current_stream[sid]["timer"].reset(TIMEOUT) #we save the xmlstream, events and observer data to allow observer removal - client.xep_0047_current_stream[sid]["event_data"] = event_data = (IBB_MESSAGE_DATA if stanza=='message' else IBB_IQ_DATA) % sid - client.xep_0047_current_stream[sid]["observer_cb"] = observer_cb = self.messageData if stanza=='message' else self.iqData + client.xep_0047_current_stream[sid]["event_data"] = event_data = (IBB_MESSAGE_DATA if stanza == 'message' else IBB_IQ_DATA) % sid + client.xep_0047_current_stream[sid]["observer_cb"] = observer_cb = self.messageData if stanza == 'message' else self.iqData event_close = IBB_CLOSE % sid #we now set the stream observer to look after data packet - client.xmlstream.addObserver(event_data, observer_cb, profile = profile) - client.xmlstream.addOnetimeObserver(event_close, self.streamClosing, profile = profile) + client.xmlstream.addObserver(event_data, observer_cb, profile=profile) + client.xmlstream.addOnetimeObserver(event_close, self.streamClosing, profile=profile) #finally, we send the accept stanza result = domish.Element((None, 'iq')) result['type'] = 'result' @@ -187,7 +188,7 @@ client.xmlstream.send(result) def streamClosing(self, IQ, profile): - IQ.handled=True + IQ.handled = True client = self.host.getClient(profile) if not client: raise ProfileNotInCacheError @@ -202,7 +203,7 @@ self._killId(sid, success=True, profile=profile) def iqData(self, IQ, profile): - IQ.handled=True + IQ.handled = True client = self.host.getClient(profile) if not client: raise ProfileNotInCacheError @@ -219,7 +220,7 @@ def messageData(self, message_elt, profile): data_elt = message_elt.firstChildElement() - sid = message_elt.getAttribute('id','') + sid = message_elt.getAttribute('id', '') self._manageDataElt(message_elt, 'message', sid, jid.JID(message_elt['from']), profile) def _manageDataElt(self, data_elt, stanza, sid, stanza_from_jid, profile): @@ -239,14 +240,14 @@ if stanza_from_jid != from_jid: warning(_("sended jid inconsistency (man in the middle attack attempt ?)")) - if stanza=='iq': + if stanza == 'iq': self.sendNotAcceptableError(sid, from_jid, client.xmlstream) return False - client.xep_0047_current_stream[sid]["seq"]+=1 - if int(data_elt.getAttribute("seq",-1)) != client.xep_0047_current_stream[sid]["seq"]: + client.xep_0047_current_stream[sid]["seq"] += 1 + if int(data_elt.getAttribute("seq", -1)) != client.xep_0047_current_stream[sid]["seq"]: warning(_("Sequence error")) - if stanza=='iq': + if stanza == 'iq': self.sendNotAcceptableError(data_elt["id"], from_jid, client.xmlstream) return False @@ -259,7 +260,7 @@ except TypeError: #The base64 data is invalid warning(_("Invalid base64 data")) - if stanza=='iq': + if stanza == 'iq': self.sendNotAcceptableError(data_elt["id"], from_jid, client.xmlstream) return False return True @@ -275,10 +276,10 @@ result['to'] = to_jid error_el = result.addElement('error') error_el['type'] = 'cancel' - error_el.addElement(('urn:ietf:params:xml:ns:xmpp-stanzas','not-acceptable')) + error_el.addElement(('urn:ietf:params:xml:ns:xmpp-stanzas', 'not-acceptable')) xmlstream.send(result) - def startStream(self, file_obj, to_jid, sid, length, successCb, failureCb, size = None, profile=None): + def startStream(self, file_obj, to_jid, sid, length, successCb, failureCb, size=None, profile=None): """Launch the stream workflow @param file_obj: file_obj to send @param to_jid: JID of the recipient @@ -290,7 +291,7 @@ client = self.host.getClient(profile) if not client: raise ProfileNotInCacheError - if length != None: + if length is not None: error(_('stream length not managed yet')) return data = client.xep_0047_current_stream[sid] = {} @@ -303,10 +304,10 @@ if size: data["size"] = size self.host.registerProgressCB(sid, self.getProgress, profile) - iq_elt = jabber_client.IQ(client.xmlstream,'set') + iq_elt = jabber_client.IQ(client.xmlstream, 'set') iq_elt['from'] = client.jid.full() iq_elt['to'] = to_jid.full() - open_elt = iq_elt.addElement('open',NS_IBB) + open_elt = iq_elt.addElement('open', NS_IBB) open_elt['block-size'] = str(BLOCK_SIZE) open_elt['sid'] = sid open_elt['stanza'] = 'iq' @@ -329,18 +330,18 @@ buffer = data["file_obj"].read(data["block_size"]) if buffer: - next_iq_elt = jabber_client.IQ(client.xmlstream,'set') + next_iq_elt = jabber_client.IQ(client.xmlstream, 'set') next_iq_elt['to'] = data["to"].full() data_elt = next_iq_elt.addElement('data', NS_IBB) data_elt['seq'] = str(seq) data_elt['sid'] = sid data_elt.addContent(base64.b64encode(buffer)) - next_iq_elt.addCallback(self.iqResult, sid, seq+1, length, profile) + next_iq_elt.addCallback(self.iqResult, sid, seq + 1, length, profile) next_iq_elt.send() else: self.terminateStream(sid, profile=profile) - def terminateStream(self, sid, failure_reason = None, profile=None): + def terminateStream(self, sid, failure_reason=None, profile=None): """Terminate the stream session @param to_jid: recipient @param sid: Session id @@ -353,9 +354,9 @@ if not client: raise ProfileNotInCacheError data = client.xep_0047_current_stream[sid] - iq_elt = jabber_client.IQ(client.xmlstream,'set') + iq_elt = jabber_client.IQ(client.xmlstream, 'set') iq_elt['to'] = data["to"].full() - close_elt = iq_elt.addElement('close',NS_IBB) + close_elt = iq_elt.addElement('close', NS_IBB) close_elt['sid'] = sid iq_elt.send() self.host.removeProgressCB(sid, profile) @@ -364,14 +365,15 @@ else: self._killId(sid, True, profile=profile) + class XEP_0047_handler(XMPPHandler): implements(iwokkel.IDisco) - def __init__(self,parent): + def __init__(self, parent): self.plugin_parent = parent def connectionInitialized(self): - self.xmlstream.addObserver(IBB_OPEN, self.plugin_parent.streamOpening, profile = self.parent.profile) + self.xmlstream.addObserver(IBB_OPEN, self.plugin_parent.streamOpening, profile=self.parent.profile) def getDiscoInfo(self, requestor, target, nodeIdentifier=''): return [disco.DiscoFeature(NS_IBB)]