summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Totzke <patricktotzke@gmail.com>2011-10-19 16:26:25 +0100
committerPatrick Totzke <patricktotzke@gmail.com>2011-10-19 16:26:25 +0100
commitf01894c1e44bd9b17f030cf2c40f54bd818d40fa (patch)
tree6d93da70f72652ba0ea3ba73cfc9717e25e0d731
parent5067d27bb5d63a3f9c2ea1316d6c98c2a395f4a1 (diff)
correct handling of empty edit_headers list
-rw-r--r--alot/commands/envelope.py36
1 files changed, 23 insertions, 13 deletions
diff --git a/alot/commands/envelope.py b/alot/commands/envelope.py
index 16092403..1cacf8f1 100644
--- a/alot/commands/envelope.py
+++ b/alot/commands/envelope.py
@@ -118,6 +118,20 @@ class EnvelopeEditCommand(Command):
if not self.mail:
self.mail = ui.current_buffer.get_email()
+ #determine editable headers
+ edit_headers = set(settings.config.getstringlist('general',
+ 'edit_headers_whitelist'))
+ if '*' in edit_headers:
+ edit_headers = set(self.mail.keys())
+ blacklist = set(settings.config.getstringlist('general',
+ 'edit_headers_blacklist'))
+ if '*' in blacklist:
+ blacklist = set(self.mail.keys())
+ ui.logger.debug('BLACKLIST: %s' % blacklist)
+ self.edit_headers = edit_headers - blacklist
+ ui.logger.info('editable headers: %s' % blacklist)
+
+
def openEnvelopeFromTmpfile():
# This parses the input from the tempfile.
# we do this ourselves here because we want to be able to
@@ -128,7 +142,11 @@ class EnvelopeEditCommand(Command):
f = open(tf.name)
enc = settings.config.get('general', 'editor_writes_encoding')
editor_input = f.read().decode(enc)
- headertext, bodytext = editor_input.split('\n\n', 1)
+ if self.edit_headers:
+ headertext, bodytext = editor_input.split('\n\n', 1)
+ else:
+ headertext = ''
+ bodytext = editor_input
# call post-edit translate hook
translate = settings.hooks.get('post_edit_translate')
@@ -167,17 +185,8 @@ class EnvelopeEditCommand(Command):
ui.current_buffer.set_email(self.mail)
# decode header
- edit_headers = set(settings.config.getstringlist('general',
- 'edit_headers_whitelist'))
- if '*' in edit_headers:
- edit_headers = set(self.mail.keys())
- blacklist = set(settings.config.getstringlist('general',
- 'edit_headers_blacklist'))
- ui.logger.debug('BLACKLIST: %s' % blacklist)
- edit_headers = edit_headers - blacklist
-
headertext = u''
- for key in edit_headers:
+ for key in self.edit_headers:
value = u''
if key in self.mail:
value = decode_header(self.mail.get(key, ''))
@@ -200,8 +209,9 @@ class EnvelopeEditCommand(Command):
#write stuff to tempfile
tf = tempfile.NamedTemporaryFile(delete=False)
- content = '%s\n\n%s' % (headertext,
- bodytext)
+ content = bodytext
+ if headertext:
+ content = '%s\n\n%s' % (headertext, content)
tf.write(content.encode('utf-8'))
tf.flush()
tf.close()