changeset 6e9d371624df in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=6e9d371624df
description: coding standards
diffstat:
src/common/jingle_session.py | 44 ++------------------------------------------
1 files changed, 2 insertions(+), 42 deletions(-)
diffs (258 lines):
diff -r 963f8a6b18da -r 6e9d371624df src/common/jingle_session.py
--- a/src/common/jingle_session.py Thu Aug 23 17:45:38 2012 -0400
+++ b/src/common/jingle_session.py Thu Aug 23 17:53:17 2012 -0400
@@ -91,15 +91,12 @@
if not sid:
sid = con.connection.getAnID()
self.sid = sid # sessionid
-
# iq stanza id, used to determine which sessions to summon callback
# later on when iq-result stanza arrives
if iq_id is not None:
self.iq_ids = [iq_id]
else:
self.iq_ids = []
-
-
self.accepted = True # is this session accepted by user
# Hash algorithm that we are using to calculate the integrity of the
# file. Could be 'md5', 'sha-1', etc...
@@ -134,7 +131,6 @@
'iq-result': [self.__broadcast],
'iq-error': [self.__on_error],
}
-
def collect_iq_id(self, iq_id):
if iq_id is not None:
@@ -190,7 +186,6 @@
def get_content(self, media=None, name=None):
if media is None:
return
-
for content in self.contents.values():
if content.media == media:
if name is None or content.name == name:
@@ -204,7 +199,6 @@
Creator must be one of ('we', 'peer', 'initiator', 'responder')
"""
assert creator in ('we', 'peer', 'initiator', 'responder')
-
if (creator == 'we' and self.weinitiate) or (creator == 'peer' and \
not self.weinitiate):
creator = 'initiator'
@@ -214,7 +208,6 @@
content.creator = creator
content.name = name
self.contents[(creator, name)] = content
-
if (creator == 'initiator') == self.weinitiate:
# The content is from us, accept it
content.accepted = True
@@ -236,7 +229,6 @@
'''
Currently used for transport replacement
'''
-
content = self.contents[(creator,name)]
transport.set_sid(content.transport.sid)
transport.set_file_props(content.transport.file_props)
@@ -244,7 +236,6 @@
# The content will have to be resend now that it is modified
content.sent = False
content.accepted = True
-
def on_session_state_changed(self, content=None):
if self.state == JingleStates.ended:
@@ -342,9 +333,7 @@
else:
# it's an iq-result (ack) stanza
action = 'iq-result'
-
callables = self.callbacks[action]
-
try:
for callable in callables:
callable(stanza=stanza, jingle=jingle, error=error,
action=action)
@@ -384,14 +373,12 @@
self.modify_content(creator, name, transport)
cont = self.contents[(creator, name)]
cont.transport = transport
-
stanza, jingle = self.__make_jingle('transport-replace')
self.__append_contents(jingle)
self.__broadcast(stanza, jingle, None, 'transport-replace')
self.connection.connection.send(stanza)
self.state = JingleStates.pending
-
def __on_transport_replace(self, stanza, jingle, error, action):
for content in jingle.iterTags('content'):
creator = content['creator']
@@ -404,14 +391,12 @@
# Anyway, content's transport is not modifiable yet
pass
elif transport_ns == xmpp.NS_JINGLE_IBB:
-
transport = JingleTransportIBB()
self.modify_content(creator, name, transport)
self.state = JingleStates.pending
self.contents[(creator,name)].state =
STATE_TRANSPORT_REPLACE
self.__ack(stanza, jingle, error, action)
self.__session_accept()
-
else:
stanza, jingle = self.__make_jingle('transport-reject')
content = jingle.setTag('content', attrs={'creator':
creator,
@@ -446,7 +431,6 @@
raise xmpp.NodeProcessed
self.__send_error(stanza, 'feature-not-implemented',
'unsupported-info', type_='modify')
raise xmpp.NodeProcessed
-
def __on_content_remove(self, stanza, jingle, error, action):
for content in jingle.iterTags('content'):
@@ -469,7 +453,6 @@
if self.state != JingleStates.pending:
raise OutOfOrder
self.state = JingleStates.active
-
def __on_content_accept(self, stanza, jingle, error, action):
"""
@@ -485,18 +468,15 @@
def __on_content_add(self, stanza, jingle, error, action):
if self.state == JingleStates.ended:
raise OutOfOrder
-
parse_result = self.__parse_contents(jingle)
contents = parse_result[0]
rejected_contents = parse_result[1]
-
for name, creator in rejected_contents:
# TODO
content = JingleContent()
self.add_content(name, content, creator)
self.__content_reject(content)
self.contents[(content.creator, content.name)].destroy()
-
gajim.nec.push_incoming_event(JingleRequestReceivedEvent(None,
conn=self.connection, jingle_session=self, contents=contents))
@@ -507,22 +487,16 @@
"""
if self.state != JingleStates.ended:
raise OutOfOrder
-
self.initiator = jingle['initiator']
self.responder = self.ourjid
self.peerjid = self.initiator
self.accepted = False # user did not accept this session yet
-
# TODO: If the initiator is unknown to the receiver (e.g., via presence
# subscription) and the receiver has a policy of not communicating via
# Jingle with unknown entities, it SHOULD return a
<service-unavailable/>
# error.
-
-
# Lets check what kind of jingle session does the peer want
contents, contents_rejected, reason_txt = self.__parse_contents(jingle)
-
-
# If we are not receivin a file
# Check if there's already a session with this user:
if contents[0][0] != 'file':
@@ -534,9 +508,6 @@
self.__ack(stanza, jingle, error, action)
self._session_terminate(reason)
raise xmpp.NodeProcessed
-
-
-
# If there's no content we understand...
if not contents:
# TODO: http://xmpp.org/extensions/xep-0166.html#session-terminate
@@ -545,9 +516,7 @@
self.__ack(stanza, jingle, error, action)
self._session_terminate(reason)
raise xmpp.NodeProcessed
-
self.state = JingleStates.pending
-
# Send event about starting a session
gajim.nec.push_incoming_event(JingleRequestReceivedEvent(None,
conn=self.connection, jingle_session=self, contents=contents))
@@ -560,13 +529,11 @@
# for cn in self.contents.values():
# cn.on_stanza(stanza, None, error, action)
# return
-
# special case: iq-result stanza does not come with a jingle element
if action == 'iq-result':
for cn in self.contents.values():
cn.on_stanza(stanza, None, error, action)
return
-
for content in jingle.iterTags('content'):
name = content['name']
creator = content['creator']
@@ -588,7 +555,6 @@
else:
# TODO
text = reason
-
if reason == 'cancel' and self.session_type_FT:
gajim.nec.push_incoming_event(JingleTransferCancelledEvent(None,
conn=self.connection, jingle_session=self, media=None,
@@ -606,7 +572,6 @@
contents = []
contents_rejected = []
reasons = set()
-
for element in jingle.iterTags('content'):
transport = get_jingle_transport(element.getTag('transport'))
if transport:
@@ -627,28 +592,22 @@
else:
contents_rejected.append((element['name'], 'peer'))
reasons.add('unsupported-applications')
-
failure_reason = None
-
# Store the first reason of failure
for reason in ('failed-application', 'unsupported-transports',
'unsupported-applications'):
if reason in reasons:
failure_reason = reason
break
-
return (contents, contents_rejected, failure_reason)
def __dispatch_error(self, error=None, text=None, type_=None):
-
if text:
text = '%s (%s)' % (error, text)
if type_ != 'modify':
gajim.nec.push_incoming_event(JingleErrorReceivedEvent(None,
conn=self.connection, jingle_session=self,
reason=text or error))
-
-
def __reason_from_stanza(self, stanza):
# TODO: Move to GUI?
@@ -674,7 +633,6 @@
attrs = {'action': action,
'sid': self.sid,
'initiator' : self.initiator}
-
jingle = stanza.addChild('jingle', attrs=attrs,
namespace=xmpp.NS_JINGLE)
if reason is not None:
jingle.addChild(node=reason)
@@ -805,3 +763,5 @@
def content_negotiated(self, media):
gajim.nec.push_incoming_event(JingleConnectedReceivedEvent(None,
conn=self.connection, jingle_session=self, media=media))
+
+
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits