summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2016-12-20 10:46:53 -0800
committerDylan Baker <dylan@pnwbakers.com>2016-12-21 17:18:39 -0800
commite6fbfd5aab0d8fd9873ebe04f318180287872285 (patch)
tree8f000a71d388a2a803a5b02e4f870dadb4e6a988
parent751b4fa7220f826e6ce1019cc332dbbbb0a7c79b (diff)
Use dict's iter methods
This patch replaces a number of uses of dict.items, dict.values, and dict.keys with their iterative siblings. The advantage of using the iterator version is that they don't copy the keys, values, or items, but simply return references. This reduces memory usage and may speed up the these operations a bit.
-rw-r--r--alot/__main__.py2
-rw-r--r--alot/buffers.py2
-rw-r--r--alot/commands/envelope.py2
-rw-r--r--alot/commands/globals.py8
-rw-r--r--alot/db/envelope.py2
-rw-r--r--alot/db/thread.py4
-rw-r--r--alot/db/utils.py2
-rw-r--r--alot/widgets/globals.py2
-rw-r--r--alot/widgets/thread.py2
9 files changed, 13 insertions, 13 deletions
diff --git a/alot/__main__.py b/alot/__main__.py
index 34c36b52..829983c5 100644
--- a/alot/__main__.py
+++ b/alot/__main__.py
@@ -24,7 +24,7 @@ class SubcommandOptions(usage.Options):
def as_argparse_opts(self):
optstr = ''
- for k, v in self.items():
+ for k, v in self.iteritems():
# flags translate int value 0 or 1..
if k in [a[0] for a in self.optFlags]: # if flag
optstr += ('--%s ' % k) * v
diff --git a/alot/buffers.py b/alot/buffers.py
index e93f9356..2389ed1f 100644
--- a/alot/buffers.py
+++ b/alot/buffers.py
@@ -144,7 +144,7 @@ class EnvelopeBuffer(Buffer):
hidden = settings.get('envelope_headers_blacklist')
# build lines
lines = []
- for (k, vlist) in self.envelope.headers.items():
+ for (k, vlist) in self.envelope.headers.iteritems():
if (k not in hidden) or self.all_headers:
for value in vlist:
lines.append((k, value))
diff --git a/alot/commands/envelope.py b/alot/commands/envelope.py
index 8a202ad3..da045046 100644
--- a/alot/commands/envelope.py
+++ b/alot/commands/envelope.py
@@ -568,7 +568,7 @@ class EncryptCommand(Command):
signed_only=self.trusted)
if self.trusted:
logging.debug("filtered encrytion keys: " +
- " ".join(x.uids[0].uid for x in keys.values()))
+ " ".join(x.uids[0].uid for x in keys.itervalues()))
if keys:
envelope.encrypt_keys.update(keys)
else:
diff --git a/alot/commands/globals.py b/alot/commands/globals.py
index 2887345f..27bac072 100644
--- a/alot/commands/globals.py
+++ b/alot/commands/globals.py
@@ -368,7 +368,7 @@ class CallCommand(Command):
hooks = settings.hooks
if hooks:
env = {'ui': ui, 'settings': settings}
- for k, v in env.items():
+ for k, v in env.iteritems():
if k not in hooks.__dict__:
hooks.__dict__[k] = v
@@ -593,7 +593,7 @@ class HelpCommand(Command):
if modemaps:
txt = (section_att, '\n%s-mode specific maps' % ui.mode)
linewidgets.append(urwid.Text(txt))
- for (k, v) in modemaps.items():
+ for (k, v) in modemaps.iteritems():
line = urwid.Columns([('fixed', keycolumnwidth,
urwid.Text((text_att, k))),
urwid.Text((text_att, v))])
@@ -601,7 +601,7 @@ class HelpCommand(Command):
# global maps
linewidgets.append(urwid.Text((section_att, '\nglobal maps')))
- for (k, v) in globalmaps.items():
+ for (k, v) in globalmaps.iteritems():
if k not in modemaps:
line = urwid.Columns(
[('fixed', keycolumnwidth, urwid.Text((text_att, k))),
@@ -741,7 +741,7 @@ class ComposeCommand(Command):
return
# set forced headers
- for key, value in self.headers.items():
+ for key, value in self.headers.iteritems():
self.envelope.add(key, value)
# set forced headers for separate parameters
diff --git a/alot/db/envelope.py b/alot/db/envelope.py
index d45a587d..ef8171d6 100644
--- a/alot/db/envelope.py
+++ b/alot/db/envelope.py
@@ -270,7 +270,7 @@ class Envelope(object):
headers['User-Agent'] = [uastring]
# copy headers from envelope to mail
- for k, vlist in headers.items():
+ for k, vlist in headers.iteritems():
for v in vlist:
outer_msg[k] = encode_header(k, v)
diff --git a/alot/db/thread.py b/alot/db/thread.py
index db41e786..ca244d5f 100644
--- a/alot/db/thread.py
+++ b/alot/db/thread.py
@@ -84,7 +84,7 @@ class Thread(object):
"""
tags = set(list(self._tags))
if intersection:
- for m in self.get_messages().keys():
+ for m in self.get_messages().iterkeys():
tags = tags.intersection(set(m.get_tags()))
return tags
@@ -255,7 +255,7 @@ class Thread(object):
"""
mid = msg.get_message_id()
msg_hash = self.get_messages()
- for m in msg_hash.keys():
+ for m in msg_hash.iterkeys():
if m.get_message_id() == mid:
return msg_hash[m]
return None
diff --git a/alot/db/utils.py b/alot/db/utils.py
index 9ad1f98c..9c325247 100644
--- a/alot/db/utils.py
+++ b/alot/db/utils.py
@@ -249,7 +249,7 @@ def extract_headers(mail, headers=None):
"""
headertext = u''
if headers is None:
- headers = mail.keys()
+ headers = mail.iterkeys()
for key in headers:
value = u''
if key in mail:
diff --git a/alot/widgets/globals.py b/alot/widgets/globals.py
index 81b14b70..b4fae0c8 100644
--- a/alot/widgets/globals.py
+++ b/alot/widgets/globals.py
@@ -51,7 +51,7 @@ class ChoiceWidget(urwid.Text):
self.separator = separator
items = []
- for k, v in choices.items():
+ for k, v in choices.iteritems():
if v == select and select is not None:
items += ['[', k, ']:', v]
else:
diff --git a/alot/widgets/thread.py b/alot/widgets/thread.py
index a0aa16d3..9b8d029d 100644
--- a/alot/widgets/thread.py
+++ b/alot/widgets/thread.py
@@ -276,7 +276,7 @@ class MessageTree(CollapsibleTree):
if headers is None:
# collect all header/value pairs in the order they appear
headers = mail.keys()
- for key, value in mail.items():
+ for key, value in mail.iteritems():
dvalue = decode_header(value, normalize=normalize)
lines.append((key, dvalue))
else: