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

Reply via email to