summaryrefslogtreecommitdiff
path: root/alot/widgets.py
diff options
context:
space:
mode:
Diffstat (limited to 'alot/widgets.py')
-rw-r--r--alot/widgets.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/alot/widgets.py b/alot/widgets.py
index b388b04c..ae1fecbe 100644
--- a/alot/widgets.py
+++ b/alot/widgets.py
@@ -358,7 +358,10 @@ class MessageSummaryWidget(urwid.WidgetWrap):
class MessageHeaderWidget(urwid.AttrMap):
- """displays a "key:value\n" list of email headers"""
+ """
+ displays a "key:value\n" list of email headers.
+ RFC 2822 style encoded values are decoded into utf8 first.
+ """
def __init__(self, eml, displayed_headers=None):
"""
@@ -379,8 +382,10 @@ class MessageHeaderWidget(urwid.AttrMap):
for key in displayed_headers:
#todo: parse from,cc,bcc seperately into name-addr-widgets
if key in eml:
- value = reduce(lambda x, y: x + y[0],
- email.header.decode_header(eml[key]), '')
+ valuelist = email.header.decode_header(eml[key])
+ value = ''
+ for v,enc in valuelist:
+ value = value + v.decode(enc)
#sanitize it a bit:
value = value.replace('\t', '')
value = value.replace('\r', '')