changeset fff2abdfbe8d in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=fff2abdfbe8d description: check that we are authenticated to server before sending anything.
diffstat:
src/common/connection.py | 90 ++++++++++++++++++++++++------------------------ 1 files changed, 45 insertions(+), 45 deletions(-)
diffs (truncated from 390 to 300 lines):
diff -r 1be252d1caa4 -r fff2abdfbe8d src/common/connection.py --- a/src/common/connection.py Fri Mar 19 20:46:05 2010 +0000 +++ b/src/common/connection.py Sat Mar 20 19:00:33 2010 +0100 @@ -514,7 +514,7 @@ groupchat_jid is used when we want to send a request to a real jid and act as if the answer comes from the groupchat_jid """ - if not self.connection: + if not gajim.account_is_connected(self.name): return to_whom_jid = jid if resource: @@ -1317,7 +1317,7 @@ stanza.setAttr('xml:lang', self.lang)
def get_privacy_lists(self): - if not self.connection: + if not gajim.account_is_connected(self.name): return common.xmpp.features_nb.getPrivacyLists(self.connection)
@@ -1336,7 +1336,7 @@ Send XMPP Ping (XEP-0199) request. If pingTo is not set, ping is sent to server to detect connection failure at application level """ - if not self.connection: + if not gajim.account_is_connected(self.name): return id_ = self.connection.getAnID() if pingTo: @@ -1364,12 +1364,12 @@ 'accounts', self.name, 'time_for_ping_alive_answer'))
def get_active_default_lists(self): - if not self.connection: + if not gajim.account_is_connected(self.name): return common.xmpp.features_nb.getActiveAndDefaultPrivacyLists(self.connection)
def del_privacy_list(self, privacy_list): - if not self.connection: + if not gajim.account_is_connected(self.name): return def _on_del_privacy_list_result(result): if result: @@ -1383,22 +1383,22 @@ _on_del_privacy_list_result)
def get_privacy_list(self, title): - if not self.connection: + if not gajim.account_is_connected(self.name): return common.xmpp.features_nb.getPrivacyList(self.connection, title)
def set_privacy_list(self, listname, tags): - if not self.connection: + if not gajim.account_is_connected(self.name): return common.xmpp.features_nb.setPrivacyList(self.connection, listname, tags)
def set_active_list(self, listname): - if not self.connection: + if not gajim.account_is_connected(self.name): return common.xmpp.features_nb.setActivePrivacyList(self.connection, listname, 'active')
def set_default_list(self, listname): - if not self.connection: + if not gajim.account_is_connected(self.name): return common.xmpp.features_nb.setDefaultPrivacyList(self.connection, listname)
@@ -1441,14 +1441,14 @@ """ Activate a privacy rule """ - if not self.connection: + if not gajim.account_is_connected(self.name): return iq = common.xmpp.Iq('set', common.xmpp.NS_PRIVACY, xmlns = '') iq.getTag('query').setTag('active', {'name': name}) self.connection.send(iq)
def send_invisible_presence(self, msg, signed, initial = False): - if not self.connection: + if not gajim.account_is_connected(self.name): return if not self.privacy_rules_supported: self.dispatch('STATUS', gajim.SHOW_LIST[self.connected]) @@ -1519,7 +1519,7 @@
def _discover_server_at_connection(self, con): self.connection = con - if not self.connection: + if not gajim.account_is_connected(self.name): return self.connection.set_send_timeout(self.keepalives, self.send_keepalive) self.connection.set_send_timeout2(self.pingalives, self.sendPing) @@ -1545,7 +1545,7 @@ def send_custom_status(self, show, msg, jid): if not show in gajim.SHOW_LIST: return -1 - if not self.connection: + if not gajim.account_is_connected(self.name): return sshow = helpers.get_xmpp_show(show) if not msg: @@ -1593,7 +1593,7 @@ self.dispatch('STATUS', show)
def send_motd(self, jid, subject = '', msg = '', xhtml = None): - if not self.connection: + if not gajim.account_is_connected(self.name): return msg_iq = common.xmpp.Message(to = jid, body = msg, subject = subject, xhtml = xhtml) @@ -1626,7 +1626,7 @@ """ Send contacts with RosterX (Xep-0144) """ - if not self.connection: + if not gajim.account_is_connected(self.name): return if len(contacts) == 1: msg = _('Sent contact: "%s" (%s)') % (contacts[0].get_full_jid(), @@ -1652,14 +1652,14 @@ self.connection.send(stanza)
def ack_subscribed(self, jid): - if not self.connection: + if not gajim.account_is_connected(self.name): return log.debug('ack'ing subscription complete for %s' % jid) p = common.xmpp.Presence(jid, 'subscribe') self.connection.send(p)
def ack_unsubscribed(self, jid): - if not self.connection: + if not gajim.account_is_connected(self.name): return log.debug('ack'ing unsubscription complete for %s' % jid) p = common.xmpp.Presence(jid, 'unsubscribe') @@ -1667,7 +1667,7 @@
def request_subscription(self, jid, msg='', name='', groups=[], auto_auth=False, user_nick=''): - if not self.connection: + if not gajim.account_is_connected(self.name): return log.debug('subscription request for %s' % jid) if auto_auth: @@ -1692,21 +1692,21 @@ self.connection.send(p)
def send_authorization(self, jid): - if not self.connection: + if not gajim.account_is_connected(self.name): return p = common.xmpp.Presence(jid, 'subscribed') p = self.add_sha(p) self.connection.send(p)
def refuse_authorization(self, jid): - if not self.connection: + if not gajim.account_is_connected(self.name): return p = common.xmpp.Presence(jid, 'unsubscribed') p = self.add_sha(p) self.connection.send(p)
def unsubscribe(self, jid, remove_auth = True): - if not self.connection: + if not gajim.account_is_connected(self.name): return if remove_auth: self.connection.getRoster().delItem(jid) @@ -1719,7 +1719,7 @@ self.update_contact(jid, '', [])
def unsubscribe_agent(self, agent): - if not self.connection: + if not gajim.account_is_connected(self.name): return iq = common.xmpp.Iq('set', common.xmpp.NS_REGISTER, to = agent) iq.getTag('query').setTag('remove') @@ -1774,7 +1774,7 @@ groupchat_jid is used when we want to send a request to a real jid and act as if the answer comes from the groupchat_jid """ - if not self.connection: + if not gajim.account_is_connected(self.name): return # If we are invisible, do not request if self.connected == gajim.SHOW_LIST.index('invisible'): @@ -1797,7 +1797,7 @@ groupchat_jid is used when we want to send a request to a real jid and act as if the answer comes from the groupchat_jid """ - if not self.connection: + if not gajim.account_is_connected(self.name): return # If we are invisible, do not request if self.connected == gajim.SHOW_LIST.index('invisible'): @@ -1819,7 +1819,7 @@ """ Get Gajim settings as described in XEP 0049 """ - if not self.connection: + if not gajim.account_is_connected(self.name): return iq = common.xmpp.Iq(typ='get') iq2 = iq.addChild(name='query', namespace=common.xmpp.NS_PRIVATE) @@ -1827,7 +1827,7 @@ self.connection.send(iq)
def _request_bookmarks_xml(self): - if not self.connection: + if not gajim.account_is_connected(self.name): return iq = common.xmpp.Iq(typ='get') iq2 = iq.addChild(name='query', namespace=common.xmpp.NS_PRIVATE) @@ -1845,7 +1845,7 @@
storage_type can be set to xml to force request to xml storage """ - if not self.connection: + if not gajim.account_is_connected(self.name): return if self.pubsub_supported and storage_type != 'xml': self.send_pb_retrieve('', 'storage:bookmarks') @@ -1862,7 +1862,7 @@ storage_type can be set to 'pubsub' or 'xml' so store in only one method else it will be stored on both """ - if not self.connection: + if not gajim.account_is_connected(self.name): return iq = common.xmpp.Node(tag='storage', attrs={'xmlns': 'storage:bookmarks'}) for bm in self.bookmarks: @@ -1907,7 +1907,7 @@ Get Annonations from storage as described in XEP 0048, and XEP 0145 """ self.annotations = {} - if not self.connection: + if not gajim.account_is_connected(self.name): return iq = common.xmpp.Iq(typ='get') iq2 = iq.addChild(name='query', namespace=common.xmpp.NS_PRIVATE) @@ -1918,7 +1918,7 @@ """ Set Annonations in private storage as described in XEP 0048, and XEP 0145 """ - if not self.connection: + if not gajim.account_is_connected(self.name): return iq = common.xmpp.Iq(typ='set') iq2 = iq.addChild(name='query', namespace=common.xmpp.NS_PRIVATE) @@ -1935,7 +1935,7 @@ """ Get metacontacts list from storage as described in XEP 0049 """ - if not self.connection: + if not gajim.account_is_connected(self.name): return iq = common.xmpp.Iq(typ='get') iq2 = iq.addChild(name='query', namespace=common.xmpp.NS_PRIVATE) @@ -1949,7 +1949,7 @@ """ Send meta contacts to the storage namespace """ - if not self.connection: + if not gajim.account_is_connected(self.name): return iq = common.xmpp.Iq(typ='set') iq2 = iq.addChild(name='query', namespace=common.xmpp.NS_PRIVATE) @@ -1964,7 +1964,7 @@ self.connection.send(iq)
def send_agent_status(self, agent, ptype): - if not self.connection: + if not gajim.account_is_connected(self.name): return show = helpers.get_xmpp_show(gajim.SHOW_LIST[self.connected]) p = common.xmpp.Presence(to = agent, typ = ptype, show = show) @@ -1972,7 +1972,7 @@ self.connection.send(p)
def check_unique_room_id_support(self, server, instance): - if not self.connection: + if not gajim.account_is_connected(self.name): return iq = common.xmpp.Iq(typ = 'get', to = server) iq.setAttr('id', 'unique1') @@ -1987,7 +1987,7 @@
def join_gc(self, nick, room_jid, password, change_nick=False): # FIXME: This room JID needs to be normalized; see #1364 - if not self.connection: + if not gajim.account_is_connected(self.name): return