diff options
author | Patrick Totzke <patricktotzke@gmail.com> | 2011-10-19 16:26:25 +0100 |
---|---|---|
committer | Patrick Totzke <patricktotzke@gmail.com> | 2011-10-19 16:26:25 +0100 |
commit | f01894c1e44bd9b17f030cf2c40f54bd818d40fa (patch) | |
tree | 6d93da70f72652ba0ea3ba73cfc9717e25e0d731 | |
parent | 5067d27bb5d63a3f9c2ea1316d6c98c2a395f4a1 (diff) |
correct handling of empty edit_headers list
-rw-r--r-- | alot/commands/envelope.py | 36 |
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() |