summaryrefslogtreecommitdiff
path: root/alot/commands/globals.py
diff options
context:
space:
mode:
authorPatrick Totzke <patricktotzke@gmail.com>2019-02-17 13:34:53 +0000
committerPatrick Totzke <patricktotzke@gmail.com>2019-05-11 17:37:57 +0100
commit05c7ebb517b3c2af2038a013eda46881b0b2fd44 (patch)
tree2ede8700069f70183edc8d72e766cd34da73def5 /alot/commands/globals.py
parent5898d6eed5441e3fb487e44ef9e5960879d6fcd0 (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.py81
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=[