changeset 5f81631ea012 in /home/hg/repos/gajim

details:http://hg.gajim.org/gajim?cmd=changeset;node=5f81631ea012
description: remove has_key()
        fix base64 calls (requires and returns bytes, not str)

diffstat:

 plugins/dbus_plugin/plugin.py          |   2 +-
 src/common/caps_cache.py               |   2 +-
 src/common/connection_handlers.py      |  18 +++++++++---------
 src/common/file_props.py               |   2 +-
 src/common/helpers.py                  |   4 +---
 src/common/protocol/bytestream.py      |   5 +++--
 src/common/resolver.py                 |  25 ++++++++++++-------------
 src/common/zeroconf/client_zeroconf.py |  18 +++++++++---------
 src/dataforms_widget.py                |   3 ++-
 src/disco.py                           |   1 -
 src/gajim-remote.py                    |   2 +-
 src/gui_menu_builder.py                |   2 +-
 src/profile_window.py                  |   3 ++-
 src/remote_control.py                  |   2 +-
 src/roster_window.py                   |   4 ++--
 src/vcard.py                           |   2 +-
 16 files changed, 47 insertions(+), 48 deletions(-)

diffs (truncated from 381 to 300 lines):

diff -r 690dea6f873b -r 5f81631ea012 plugins/dbus_plugin/plugin.py
--- a/plugins/dbus_plugin/plugin.py     Wed Jan 02 13:54:02 2013 +0100
+++ b/plugins/dbus_plugin/plugin.py     Wed Jan 02 17:53:42 2013 +0100
@@ -428,7 +428,7 @@
             def account_info(self, account):
                 '''show info on account: resource, jid, nick, prio, message'''
                 result = DBUS_DICT_SS()
-                if gajim.connections.has_key(account):
+                if account in gajim.connections:
                     # account is valid
                     con = gajim.connections[account]
                     index = con.connected
diff -r 690dea6f873b -r 5f81631ea012 src/common/caps_cache.py
--- a/src/common/caps_cache.py  Wed Jan 02 13:54:02 2013 +0100
+++ b/src/common/caps_cache.py  Wed Jan 02 17:53:42 2013 +0100
@@ -163,7 +163,7 @@
         hash_ = hashlib.md5(S.encode('utf-8'))
     else:
         return ''
-    return base64.b64encode(hash_.digest())
+    return base64.b64encode(hash_.digest()).decode('utf-8')
 
 
 
################################################################################
diff -r 690dea6f873b -r 5f81631ea012 src/common/connection_handlers.py
--- a/src/common/connection_handlers.py Wed Jan 02 13:54:02 2013 +0100
+++ b/src/common/connection_handlers.py Wed Jan 02 17:53:42 2013 +0100
@@ -431,7 +431,8 @@
         if 'PHOTO' in vcard and isinstance(vcard['PHOTO'], dict) and \
         'BINVAL' in vcard['PHOTO']:
             photo = vcard['PHOTO']['BINVAL']
-            photo_decoded = base64.decodestring(photo)
+            photo_decoded = base64.b64decode(photo.encode('utf-8')).decode(
+                'utf-8')
             gajim.interface.save_avatar_files(our_jid, photo_decoded)
             avatar_sha = hashlib.sha1(photo_decoded).hexdigest()
             iq2.getTag('PHOTO').setTagData('SHA', avatar_sha)
@@ -684,7 +685,7 @@
         'BINVAL' in vcard['PHOTO']:
             photo = vcard['PHOTO']['BINVAL']
             try:
-                photo_decoded = base64.decodestring(photo)
+                photo_decoded = 
base64.b64decode(photo.encode('utf-8')).decode('utf-8')
                 avatar_sha = hashlib.sha1(photo_decoded).hexdigest()
             except Exception:
                 avatar_sha = ''
@@ -970,7 +971,7 @@
         decmsg = self.gpg.decrypt(encmsg, keyID)
         decmsg = self.connection.Dispatcher.replace_non_character(decmsg)
         # \x00 chars are not allowed in C (so in GTK)
-        obj.msgtxt = helpers.decode_string(decmsg.replace('\x00', ''))
+        obj.msgtxt = decmsg.replace('\x00', '')
         obj.encrypted = 'xep27'
         self.gpg_messages_to_decrypt.remove([encmsg, keyID, obj])
 
@@ -1095,7 +1096,7 @@
             jid = gajim.get_jid_without_resource(jid)
 
         try:
-            return self.sessions[jid].values()
+            return list(self.sessions[jid].values())
         except KeyError:
             return []
 
@@ -1157,7 +1158,7 @@
         received a thread_id yet and returns the session that we last sent a
         message to
         """
-        sessions = self.sessions[jid].values()
+        sessions = list(self.sessions[jid].values())
 
         # sessions that we haven't received a thread ID in
         idless = [s for s in sessions if not s.received_thread_id]
@@ -1178,7 +1179,7 @@
         Find an active session that doesn't have a control attached
         """
         try:
-            sessions = self.sessions[jid].values()
+            sessions = list(self.sessions[jid].values())
 
             # filter out everything except the default session type
             chat_sessions = [s for s in sessions if isinstance(s,
@@ -1549,9 +1550,8 @@
             iq_obj = obj.stanza.buildReply('result')
             qp = iq_obj.setQuery()
             qp.setTagData('utc', strftime('%Y%m%dT%H:%M:%S', gmtime()))
-            qp.setTagData('tz', helpers.decode_string(tzname[daylight]))
-            qp.setTagData('display', helpers.decode_string(strftime('%c',
-                localtime())))
+            qp.setTagData('tz', tzname[daylight])
+            qp.setTagData('display', strftime('%c', localtime()))
         else:
             iq_obj = obj.stanza.buildReply('error')
             err = nbxmpp.ErrorNode(name=nbxmpp.NS_STANZAS + \
diff -r 690dea6f873b -r 5f81631ea012 src/common/file_props.py
--- a/src/common/file_props.py  Wed Jan 02 13:54:02 2013 +0100
+++ b/src/common/file_props.py  Wed Jan 02 17:53:42 2013 +0100
@@ -64,7 +64,7 @@
 
     @classmethod
     def getAllFileProp(cls):
-        return cls._files_props.values()
+        return list(cls._files_props.values())
 
     @classmethod
     def setFileProp(cls, fp, account, sid):
diff -r 690dea6f873b -r 5f81631ea012 src/common/helpers.py
--- a/src/common/helpers.py     Wed Jan 02 13:54:02 2013 +0100
+++ b/src/common/helpers.py     Wed Jan 02 17:53:42 2013 +0100
@@ -633,8 +633,6 @@
     from time import strptime
     return strptime(timestamp, '%Y%m%dT%H:%M:%S')
 
-# import gajim only when needed (after decode_string is defined) see #4764
-
 from common import gajim
 if gajim.HAVE_PYCURL:
     import pycurl
@@ -904,7 +902,7 @@
     """
     Return the full jid (with resource) from an iq
     """
-    return parse_jid(iq_obj.getFrom())
+    return parse_jid(str(iq_obj.getFrom()))
 
 def get_jid_from_iq(iq_obj):
     """
diff -r 690dea6f873b -r 5f81631ea012 src/common/protocol/bytestream.py
--- a/src/common/protocol/bytestream.py Wed Jan 02 13:54:02 2013 +0100
+++ b/src/common/protocol/bytestream.py Wed Jan 02 17:53:42 2013 +0100
@@ -852,7 +852,8 @@
                 chunk = file_props.fp.read(file_props.block_size)
                 if chunk:
                     datanode = nbxmpp.Node(nbxmpp.NS_IBB + ' data', {'sid': 
sid,
-                        'seq': file_props.seq}, base64.encodestring(chunk))
+                        'seq': file_props.seq}, base64.b64encode(chunk.encode(
+                        'utf-8')).decode('utf-8'))
                     file_props.seq += 1
                     file_props.started = True
                     if file_props.seq == 65536:
@@ -887,7 +888,7 @@
         log.debug('ReceiveHandler called sid->%s seq->%s' % (sid, seq))
         try:
             seq = int(seq)
-            data = base64.decodestring(data)
+            data = base64.b64decode(data.encode('utf-8')).decode('utf-8')
         except Exception:
             seq = ''
             data = ''
diff -r 690dea6f873b -r 5f81631ea012 src/common/resolver.py
--- a/src/common/resolver.py    Wed Jan 02 13:54:02 2013 +0100
+++ b/src/common/resolver.py    Wed Jan 02 17:53:42 2013 +0100
@@ -70,33 +70,33 @@
             # empty host, return empty list of srv records
             on_ready([])
             return
-        if self.resolved_hosts.has_key(host+type):
+        if host + type in self.resolved_hosts:
             # host is already resolved, return cached values
             log.debug('%s already resolved: %s' % (host,
-                self.resolved_hosts[host+type]))
-            on_ready(host, self.resolved_hosts[host+type])
+                self.resolved_hosts[host + type]))
+            on_ready(host, self.resolved_hosts[host + type])
             return
-        if self.handlers.has_key(host+type):
+        if host + type in self.handlers:
             # host is about to be resolved by another connection,
             # attach our callback
             log.debug('already resolving %s' % host)
-            self.handlers[host+type].append(on_ready)
+            self.handlers[host + type].append(on_ready)
         else:
             # host has never been resolved, start now
             log.debug('Starting to resolve %s using %s' % (host, self))
-            self.handlers[host+type] = [on_ready]
+            self.handlers[host + type] = [on_ready]
             self.start_resolve(host, type)
 
     def _on_ready(self, host, type, result_list):
         # practically it is impossible to be the opposite, but who knows :)
         host = host.lower()
         log.debug('Resolving result for %s: %s' % (host, result_list))
-        if not self.resolved_hosts.has_key(host+type):
-            self.resolved_hosts[host+type] = result_list
-        if self.handlers.has_key(host+type):
-            for callback in self.handlers[host+type]:
+        if host + type not in self.resolved_hosts:
+            self.resolved_hosts[host + type] = result_list
+        if host + type in self.handlers:
+            for callback in self.handlers[host + type]:
                 callback(host, result_list)
-            del(self.handlers[host+type])
+            del(self.handlers[host + type])
 
     def start_resolve(self, host, type):
         pass
@@ -251,8 +251,7 @@
             domain = None
             if line.startswith(fqdn):
                 domain = fqdn # For nslookup 9.5
-            elif helpers.decode_string(line).startswith(ufqdn):
-                line = helpers.decode_string(line)
+            elif line.startswith(ufqdn):
                 domain = ufqdn # For nslookup 9.6
             if domain:
                 rest = line[len(domain):].split('=')
diff -r 690dea6f873b -r 5f81631ea012 src/common/zeroconf/client_zeroconf.py
--- a/src/common/zeroconf/client_zeroconf.py    Wed Jan 02 13:54:02 2013 +0100
+++ b/src/common/zeroconf/client_zeroconf.py    Wed Jan 02 17:53:42 2013 +0100
@@ -173,7 +173,7 @@
                 id_ = stanza.getID()
                 if not id_:
                     id_ = self.Dispatcher.getAnID()
-                if self.conn_holder.ids_of_awaiting_messages.has_key(self.fd):
+                if self.fd in self.conn_holder.ids_of_awaiting_messages:
                     self.conn_holder.ids_of_awaiting_messages[self.fd].append((
                         id_, thread_id))
                 else:
@@ -195,7 +195,7 @@
             id_ = stanza.getID()
             if not id_:
                 id_ = self.Dispatcher.getAnID()
-            if self.conn_holder.ids_of_awaiting_messages.has_key(self.fd):
+            if self.fd in self.conn_holder.ids_of_awaiting_messages:
                 self.conn_holder.ids_of_awaiting_messages[self.fd].append((id_,
                     thread_id))
             else:
@@ -253,10 +253,10 @@
                     'Incorrect answer from server.')
             return
         if self.sock_type == TYPE_SERVER:
-            if attrs.has_key('from'):
+            if 'from' in attrs:
                 self.to = attrs['from']
             self.send_stream_header()
-            if attrs.has_key('version') and attrs['version'] == '1.0':
+            if 'version' in attrs and attrs['version'] == '1.0':
                 # other part supports stream features
                 features = Node('stream:features')
                 self.Dispatcher.send(features)
@@ -270,12 +270,12 @@
 
     def on_disconnect(self):
         if self.conn_holder:
-            if self.conn_holder.ids_of_awaiting_messages.has_key(self.fd):
+            if self.fd in self.conn_holder.ids_of_awaiting_messages:
                 del self.conn_holder.ids_of_awaiting_messages[self.fd]
             self.conn_holder.remove_connection(self.sock_hash)
-        if self.__dict__.has_key('Dispatcher'):
+        if 'Dispatcher' in self.__dict__:
             self.Dispatcher.PlugOut()
-        if self.__dict__.has_key('P2PConnection'):
+        if 'P2PConnection' in self.__dict__:
             self.P2PConnection.PlugOut()
         self.Connection = None
         self._caller = None
@@ -294,7 +294,7 @@
                 self.Dispatcher.Stream._document_attrs is None:
             return
         self.onreceive(None)
-        if self.Dispatcher.Stream._document_attrs.has_key('version') and \
+        if 'version' in self.Dispatcher.Stream._document_attrs and \
         self.Dispatcher.Stream._document_attrs['version'] == '1.0':
                 #~ self.onreceive(self._on_receive_stream_features)
                 #XXX continue with TLS
@@ -710,7 +710,7 @@
             if self.ip_to_hash[i] == sock_hash:
                 del self.ip_to_hash[i]
                 break
-        if self.hash_to_port.has_key(sock_hash):
+        if sock_hash in self.hash_to_port:
             del self.hash_to_port[sock_hash]
 
     def start_listener(self, port):
diff -r 690dea6f873b -r 5f81631ea012 src/dataforms_widget.py
--- a/src/dataforms_widget.py   Wed Jan 02 13:54:02 2013 +0100
+++ b/src/dataforms_widget.py   Wed Jan 02 17:53:42 2013 +0100
@@ -566,7 +566,8 @@
                 for uri in field.media.uris:
                     if uri.type_.startswith('image/'):
                         try:
-                            img_data = base64.decodestring(uri.uri_data)
+                            img_data = base64.b64decode(uri.uri_data.encode(
+                                'utf-8')).decode('utf-8')
                             pixbuf_l = GdkPixbuf.PixbufLoader()
                             pixbuf_l.write(img_data)
                             pixbuf_l.close()
diff -r 690dea6f873b -r 5f81631ea012 src/disco.py
--- a/src/disco.py      Wed Jan 02 13:54:02 2013 +0100
+++ b/src/disco.py      Wed Jan 02 17:53:42 2013 +0100
@@ -193,7 +193,6 @@
 
     def __contains__(self, key):
         return key in self.cache
-    has_key = __contains__
 
 _icon_cache = CacheDictionary(15)
 
diff -r 690dea6f873b -r 5f81631ea012 src/gajim-remote.py
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to