summaryrefslogtreecommitdiff
path: root/alot
diff options
context:
space:
mode:
authorPatrick Totzke <patricktotzke@gmail.com>2013-05-07 09:18:30 +0100
committerPatrick Totzke <patricktotzke@gmail.com>2013-05-07 09:18:30 +0100
commit50f80419b0b76f557823925436d79aadbe6771e9 (patch)
tree892658d4eacb933ed76eb8dcfecb6a51db0e2c32 /alot
parent10a763910c00a299ef9e78d9db6838256e14b906 (diff)
parent749f4ef9ec85e4570aa79cb25b49d50320c83c9b (diff)
Merge branch '0.3.4-fix-headers-601'
Diffstat (limited to 'alot')
-rw-r--r--alot/widgets/thread.py50
1 files changed, 27 insertions, 23 deletions
diff --git a/alot/widgets/thread.py b/alot/widgets/thread.py
index 5d2e2bda..17b43883 100644
--- a/alot/widgets/thread.py
+++ b/alot/widgets/thread.py
@@ -271,33 +271,37 @@ class MessageTree(CollapsibleTree):
def construct_header_pile(self, headers=None, normalize=True):
mail = self._message.get_email()
+ lines = []
+
if headers is None:
+ # collect all header/value pairs in the order they appear
headers = mail.keys()
+ for key, value in mail.items():
+ dvalue = decode_header(value, normalize=normalize)
+ lines.append((key, dvalue))
else:
- headers = [k for k in headers if
- k.lower() == 'tags' or k in mail]
-
- lines = []
- for key in headers:
- if key in mail:
- if key.lower() in ['cc', 'bcc', 'to']:
- values = mail.get_all(key)
- values = [decode_header(
- v, normalize=normalize) for v in values]
+ # only a selection of headers should be displayed.
+ # use order of the `headers` parameter
+ for key in headers:
+ if key in mail:
+ if key.lower() in ['cc', 'bcc', 'to']:
+ values = mail.get_all(key)
+ values = [decode_header(
+ v, normalize=normalize) for v in values]
+ lines.append((key, ', '.join(values)))
+ else:
+ for value in mail.get_all(key):
+ dvalue = decode_header(value, normalize=normalize)
+ lines.append((key, dvalue))
+ elif key.lower() == 'tags':
+ logging.debug('want tags header')
+ values = []
+ for t in self._message.get_tags():
+ tagrep = settings.get_tagstring_representation(t)
+ if t is not tagrep['translated']:
+ t = '%s (%s)' % (tagrep['translated'], t)
+ values.append(t)
lines.append((key, ', '.join(values)))
- else:
- for value in mail.get_all(key):
- dvalue = decode_header(value, normalize=normalize)
- lines.append((key, dvalue))
- elif key.lower() == 'tags':
- logging.debug('want tags header')
- values = []
- for t in self._message.get_tags():
- tagrep = settings.get_tagstring_representation(t)
- if t is not tagrep['translated']:
- t = '%s (%s)' % (tagrep['translated'], t)
- values.append(t)
- lines.append((key, ', '.join(values)))
key_att = settings.get_theming_attribute('thread', 'header_key')
value_att = settings.get_theming_attribute('thread', 'header_value')