summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpazz <patricktotzke@gmail.com>2011-08-04 22:50:29 +0100
committerpazz <patricktotzke@gmail.com>2011-08-04 22:50:29 +0100
commit951a85424bba4691545ab7087f290d7c1b1adbe7 (patch)
treea2a8c649cca21c254cb45e19d351baad471c08f8
parent41de892d94d1e53ef4226ad2b96e2f361c62db60 (diff)
cleaned up command interpretation
-rw-r--r--alot/command.py76
1 files changed, 35 insertions, 41 deletions
diff --git a/alot/command.py b/alot/command.py
index 469ed062..8bc31a95 100644
--- a/alot/command.py
+++ b/alot/command.py
@@ -612,8 +612,6 @@ class FoldMessagesCommand(Command):
widget.fold(self.visible)
-
-
### ENVELOPE
class EnvelopeOpenCommand(Command):
def __init__(self, mail=None, **kwargs):
@@ -838,43 +836,39 @@ def interpret_commandline(cmdline, mode):
logging.debug('unknown command: %s' % (cmd))
return None
- if not params: # commands that work without parameter
- if cmd in ['exit', 'flush', 'pyshell', 'taglist', 'close', 'compose',
- 'openfocussed', 'closefocussed', 'bnext', 'bprevious',
- 'retag', 'refresh', 'bufferlist', 'refineprompt', 'reply',
- 'forward',
- 'groupreply', 'bounce', 'openthread', 'send', 'reedit',
- 'select', 'retagprompt']:
- logging.debug('no parms for: %s' % (cmd))
- return commandfactory(cmd, mode=mode)
- else:
- return None
+ if cmd == 'search':
+ return commandfactory(cmd, mode=mode, query=params)
+ elif cmd == 'compose':
+ return commandfactory(cmd, mode=mode, headers={'To': params})
+ elif cmd == 'prompt':
+ return commandfactory(cmd, mode=mode, startstring=params)
+ elif cmd == 'refine':
+ return commandfactory(cmd, mode=mode, query=params)
+ elif cmd == 'retag':
+ return commandfactory(cmd, mode=mode, tagsstring=params)
+ elif cmd == 'subject':
+ return commandfactory(cmd, mode=mode, key='Subject', value=params)
+ elif cmd == 'shellescape':
+ return commandfactory(cmd, mode=mode, commandstring=params)
+ elif cmd == 'to':
+ return commandfactory(cmd, mode=mode, key='To', value=params)
+ elif cmd == 'toggletag':
+ return commandfactory(cmd, mode=mode, tag=params)
+ elif cmd == 'fold':
+ return commandfactory(cmd, mode=mode, all=(params=='all'))
+ elif cmd == 'unfold':
+ return commandfactory(cmd, mode=mode, all=(params=='all'))
+ elif cmd == 'edit':
+ filepath = os.path.expanduser(params)
+ if os.path.isfile(filepath):
+ return commandfactory(cmd, mode=mode, path=filepath)
+
+ elif not params and cmd in ['exit', 'flush', 'pyshell', 'taglist', 'close',
+ 'compose', 'openfocussed', 'closefocussed',
+ 'bnext', 'bprevious', 'retag', 'refresh',
+ 'bufferlist', 'refineprompt', 'reply',
+ 'forward', 'groupreply', 'bounce', 'openthread',
+ 'send', 'reedit', 'select', 'retagprompt']:
+ return commandfactory(cmd, mode=mode)
else:
- if cmd == 'search':
- return commandfactory(cmd, mode=mode, query=params)
- elif cmd == 'compose':
- return commandfactory(cmd, mode=mode, headers={'To': params})
- elif cmd == 'prompt':
- return commandfactory(cmd, mode=mode, startstring=params)
- elif cmd == 'refine':
- return commandfactory(cmd, mode=mode, query=params)
- elif cmd == 'retag':
- return commandfactory(cmd, mode=mode, tagsstring=params)
- elif cmd == 'subject':
- return commandfactory(cmd, mode=mode, key='Subject', value=params)
- elif cmd == 'shellescape':
- return commandfactory(cmd, mode=mode, commandstring=params)
- elif cmd == 'to':
- return commandfactory(cmd, mode=mode, key='To', value=params)
- elif cmd == 'toggletag':
- return commandfactory(cmd, mode=mode, tag=params)
- elif cmd == 'fold':
- return commandfactory(cmd, mode=mode, all=(params=='all'))
- elif cmd == 'unfold':
- return commandfactory(cmd, mode=mode, all=(params=='all'))
- elif cmd == 'edit':
- filepath = os.path.expanduser(params)
- if os.path.isfile(filepath):
- return commandfactory(cmd, mode=mode, path=filepath)
- else:
- return None
+ return None