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