changeset 79d34aeb9b36 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=79d34aeb9b36
description: send session-accept for file request
diffstat:
src/common/connection_handlers_events.py | 7 +++++++
src/common/jingle_ft.py | 5 +++++
src/common/jingle_session.py | 8 +++-----
3 files changed, 15 insertions(+), 5 deletions(-)
diffs (70 lines):
diff -r 3b91071c9876 -r 79d34aeb9b36 src/common/connection_handlers_events.py
--- a/src/common/connection_handlers_events.py Wed Sep 05 10:59:59 2012 +0400
+++ b/src/common/connection_handlers_events.py Wed Sep 05 19:39:07 2012 -0400
@@ -2000,6 +2000,13 @@
self.file_props.receiver = self.conn._ft_get_our_jid()
else:
file_tag = desc.getTag('request').getTag('file')
+ h = file_tag.getTag('hash')
+ n = file_tag.getTag('name')
+ if h:
+ file_info = self.conn.get_files_info(hash_=h)
+ elif n:
+ file_info = self.conn.get_files_info(name=n)
+ self.file_props.file_name = file_info['file-name']
self.file_props.sender = self.conn._ft_get_our_jid()
self.file_props.receiver = self.fjid
self.file_props.type_ = 's'
diff -r 3b91071c9876 -r 79d34aeb9b36 src/common/jingle_ft.py
--- a/src/common/jingle_ft.py Wed Sep 05 10:59:59 2012 +0400
+++ b/src/common/jingle_ft.py Wed Sep 05 19:39:07 2012 -0400
@@ -47,6 +47,7 @@
class JingleFileTransfer(JingleContent):
+
def __init__(self, session, transport=None, file_props=None,
use_security=False):
JingleContent.__init__(self, session, transport)
@@ -117,6 +118,10 @@
gajim.nec.push_incoming_event(FileRequestReceivedEvent(None,
conn=self.session.connection, stanza=stanza,
jingle_content=content,
FT_content=self))
+ if self.session.request:
+ # accept the request
+ self.session.approve_content(self.media, self.name)
+ self.session.accept_session()
def __on_session_initiate_sent(self, stanza, content, error, action):
pass
diff -r 3b91071c9876 -r 79d34aeb9b36 src/common/jingle_session.py
--- a/src/common/jingle_session.py Wed Sep 05 10:59:59 2012 +0400
+++ b/src/common/jingle_session.py Wed Sep 05 19:39:07 2012 -0400
@@ -86,6 +86,7 @@
self.weinitiate = weinitiate
# Are we requesting or offering a file?
self.werequest = werequest
+ self.request = False
# what state is session in? (one from JingleStates)
self.state = JingleStates.ended
if not sid:
@@ -516,17 +517,14 @@
request = \
jingle.getTag('content').getTag('description').getTag('request')
if request:
+ self.request = True
h = request.getTag('file').getTag('hash')
n = request.getTag('file').getTag('name')
if h:
file_info = self.connection.get_files_info(hash_=h)
elif n:
file_info = self.connection.get_files_info(name=n)
- if file_info:
- file_props = FilesProp.getFileProp(self.connection.name,
- self.sid)
- file_props.file_name = file_info['file-name']
- else:
+ if not file_info:
log.warning('The peer ' + self.peerjid + \
' is requesting a ' + \
'file that we dont have')
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits