diff options
author | Patrick Totzke <patricktotzke@gmail.com> | 2019-02-17 13:34:53 +0000 |
---|---|---|
committer | Patrick Totzke <patricktotzke@gmail.com> | 2019-05-11 17:37:57 +0100 |
commit | 05c7ebb517b3c2af2038a013eda46881b0b2fd44 (patch) | |
tree | 2ede8700069f70183edc8d72e766cd34da73def5 /alot/commands/globals.py | |
parent | 5898d6eed5441e3fb487e44ef9e5960879d6fcd0 (diff) |
commands/globals: split the code for setting ...
account and From header
Diffstat (limited to 'alot/commands/globals.py')
-rw-r--r-- | alot/commands/globals.py | 81 |
1 files changed, 43 insertions, 38 deletions
diff --git a/alot/commands/globals.py b/alot/commands/globals.py index ebb7f578..fd71fc67 100644 --- a/alot/commands/globals.py +++ b/alot/commands/globals.py @@ -805,44 +805,8 @@ class ComposeCommand(Command): except Exception as e: ui.notify(str(e), priority='error') raise self.ApplyError() - - async def apply(self, ui): - try: - await self.__apply(ui) - except self.ApplyError: - return - - async def __apply(self, ui): - if self.envelope is None: - if self.rest: - if self.rest.startswith('mailto'): - self.envelope = mailto_to_envelope(self.rest) - else: - self.envelope = Envelope() - self.envelope.add('To', self.rest) - else: - self.envelope = Envelope() - if self.template is not None: - self._get_template(ui) - - # set forced headers - for key, value in self.headers.items(): - self.envelope.add(key, value) - - # set forced headers for separate parameters - if self.sender: - self.envelope.add('From', self.sender) - if self.subject: - self.envelope.add('Subject', self.subject) - if self.to: - self.envelope.add('To', ','.join(self.to)) - if self.cc: - self.envelope.add('Cc', ','.join(self.cc)) - if self.bcc: - self.envelope.add('Bcc', ','.join(self.bcc)) - if self.tags: - self.envelope.tags = [t for t in self.tags.split(',') if t] - + + def _set_sender(self, ui): # find out the right account, if possible yet account = self.envelope.account if account is None: @@ -884,6 +848,46 @@ class ComposeCommand(Command): if self.envelope.account is None: self.envelope.account = account + async def apply(self, ui): + try: + await self.__apply(ui) + except self.ApplyError: + return + + async def __apply(self, ui): + if self.envelope is None: + if self.rest: + if self.rest.startswith('mailto'): + self.envelope = mailto_to_envelope(self.rest) + else: + self.envelope = Envelope() + self.envelope.add('To', self.rest) + else: + self.envelope = Envelope() + if self.template is not None: + self._get_template(ui) + + # set forced headers + for key, value in self.headers.items(): + self.envelope.add(key, value) + + # set forced headers for separate parameters + if self.sender: + self.envelope.add('From', self.sender) + if self.subject: + self.envelope.add('Subject', self.subject) + if self.to: + self.envelope.add('To', ','.join(self.to)) + if self.cc: + self.envelope.add('Cc', ','.join(self.cc)) + if self.bcc: + self.envelope.add('Bcc', ','.join(self.bcc)) + if self.tags: + self.envelope.tags = [t for t in self.tags.split(',') if t] + + # set account and 'From' header + await self._set_sender(self,ui) + # add signature if not self.omit_signature and account.signature: logging.debug('has signature') @@ -984,6 +988,7 @@ class ComposeCommand(Command): await ui.apply_command(cmd) + @registerCommand( MODE, 'move', help='move focus in current buffer', arguments=[ |