changeset 69cc5a130b9c in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=69cc5a130b9c description: add namespace for jingle file transfer add jingle FT to gajim.gajim_optional_features
diffstat:
src/chat_control.py | 6 +++--- src/common/connection_handlers.py | 2 +- src/common/helpers.py | 1 + src/common/xmpp/protocol.py | 1 + src/filetransfers_window.py | 8 ++++++++ src/gui_menu_builder.py | 4 ++-- 6 files changed, 16 insertions(+), 6 deletions(-)
diffs (107 lines):
diff -r e18788a1300e -r 69cc5a130b9c src/chat_control.py --- a/src/chat_control.py Mon May 24 18:59:36 2010 +0800 +++ b/src/chat_control.py Tue Jun 01 15:09:42 2010 +0800 @@ -51,7 +51,7 @@ from common.pep import MOODS, ACTIVITIES from common.xmpp.protocol import NS_XHTML, NS_XHTML_IM, NS_FILE, NS_MUC from common.xmpp.protocol import NS_RECEIPTS, NS_ESESSION -from common.xmpp.protocol import NS_JINGLE_RTP_AUDIO, NS_JINGLE_RTP_VIDEO, NS_JINGLE_ICE_UDP +from common.xmpp.protocol import NS_JINGLE_RTP_AUDIO, NS_JINGLE_RTP_VIDEO, NS_JINGLE_ICE_UDP, NS_JINGLE_FILE_TRANSFER
from command_system.implementation.middleware import ChatCommandProcessor from command_system.implementation.middleware import CommandTools @@ -1496,12 +1496,12 @@ self._video_button.set_sensitive(self.video_available)
# Send file - if self.contact.supports(NS_FILE) and self.contact.resource: + if (self.contact.supports(NS_FILE) or self.contact.supports(NS_JINGLE_FILE_TRANSFER)) and self.contact.resource: self._send_file_button.set_sensitive(True) self._send_file_button.set_tooltip_text('') else: self._send_file_button.set_sensitive(False) - if not self.contact.supports(NS_FILE): + if not (self.contact.supports(NS_FILE) or self.contact.supports(NS_JINGLE_FILE_TRANSFER)): self._send_file_button.set_tooltip_text(_( "This contact does not support file transfer.")) else: diff -r e18788a1300e -r 69cc5a130b9c src/common/connection_handlers.py --- a/src/common/connection_handlers.py Mon May 24 18:59:36 2010 +0800 +++ b/src/common/connection_handlers.py Tue Jun 01 15:09:42 2010 +0800 @@ -182,7 +182,7 @@ query = iq.setTag('query') query.setAttr('node', 'http://gajim.org#' + gajim.version.split('-', 1)[0]) for f in (common.xmpp.NS_BYTESTREAM, common.xmpp.NS_SI, - common.xmpp.NS_FILE, common.xmpp.NS_COMMANDS): + common.xmpp.NS_FILE, common.xmpp.NS_COMMANDS, common.xmpp.NS_JINGLE_FILE_TRANSFER): feature = common.xmpp.Node('feature') feature.setAttr('var', f) query.addChild(node=feature) diff -r e18788a1300e -r 69cc5a130b9c src/common/helpers.py --- a/src/common/helpers.py Mon May 24 18:59:36 2010 +0800 +++ b/src/common/helpers.py Tue Jun 01 15:09:42 2010 +0800 @@ -1316,6 +1316,7 @@ gajim.gajim_optional_features[a].append(xmpp.NS_JINGLE_RTP_AUDIO) gajim.gajim_optional_features[a].append(xmpp.NS_JINGLE_RTP_VIDEO) gajim.gajim_optional_features[a].append(xmpp.NS_JINGLE_ICE_UDP) + gajim.gajim_optional_features[a].append(xmpp.NS_JINGLE_FILE_TRANSFER) gajim.caps_hash[a] = caps_cache.compute_caps_hash([gajim.gajim_identity], gajim.gajim_common_features + gajim.gajim_optional_features[a]) # re-send presence with new hash diff -r e18788a1300e -r 69cc5a130b9c src/common/xmpp/protocol.py --- a/src/common/xmpp/protocol.py Mon May 24 18:59:36 2010 +0800 +++ b/src/common/xmpp/protocol.py Tue Jun 01 15:09:42 2010 +0800 @@ -69,6 +69,7 @@ NS_JINGLE_RTP ='urn:xmpp:jingle:apps:rtp:1' # XEP-0167 NS_JINGLE_RTP_AUDIO='urn:xmpp:jingle:apps:rtp:audio' # XEP-0167 NS_JINGLE_RTP_VIDEO='urn:xmpp:jingle:apps:rtp:video' # XEP-0167 +NS_JINGLE_FILE_TRANSFER='urn:xmpp:jingle:apps:file-transfer:1' # XEP-0234 NS_JINGLE_RAW_UDP='urn:xmpp:jingle:transports:raw-udp:1' # XEP-0177 NS_JINGLE_ICE_UDP='urn:xmpp:jingle:transports:ice-udp:1' # XEP-0176 NS_LAST ='jabber:iq:last' diff -r e18788a1300e -r 69cc5a130b9c src/filetransfers_window.py --- a/src/filetransfers_window.py Mon May 24 18:59:36 2010 +0800 +++ b/src/filetransfers_window.py Tue Jun 01 15:09:42 2010 +0800 @@ -35,6 +35,10 @@ from common import helpers from common.protocol.bytestream import (is_transfer_active, is_transfer_paused, is_transfer_stopped) +from common.xmpp.protocol import NS_JINGLE_FILE_TRANSFER +import logging + +log = logging.getLogger('gajim.filetransfer_window')
C_IMAGE = 0 C_LABELS = 1 @@ -299,6 +303,10 @@ if file_props is None: return False self.add_transfer(account, contact, file_props) + if contact.supports(NS_JINGLE_FILE_TRANSFER): + log.info("contacts supports jingle file transfer") + else: + log.info("contacts does not support jingle file transfer") gajim.connections[account].send_file_request(file_props) return True
diff -r e18788a1300e -r 69cc5a130b9c src/gui_menu_builder.py --- a/src/gui_menu_builder.py Mon May 24 18:59:36 2010 +0800 +++ b/src/gui_menu_builder.py Tue Jun 01 15:09:42 2010 +0800 @@ -25,7 +25,7 @@
from common import gajim from common import helpers -from common.xmpp.protocol import NS_COMMANDS, NS_FILE, NS_MUC, NS_ESESSION +from common.xmpp.protocol import NS_COMMANDS, NS_FILE, NS_MUC, NS_ESESSION, NS_JINGLE_FILE_TRANSFER
def build_resources_submenu(contacts, account, action, room_jid=None, room_account=None, cap=None): @@ -225,7 +225,7 @@ else: start_chat_menuitem.connect('activate', gajim.interface.on_open_chat_window, contact, account) - if contact.supports(NS_FILE): + if contact.supports(NS_FILE) or contact.supports(NS_JINGLE_FILE_TRANSFER): send_file_menuitem.set_sensitive(True) send_file_menuitem.connect('activate', roster.on_send_file_menuitem_activate, contact, account)