diff options
author | hut <hut@lavabit.com> | 2010-01-03 20:30:11 +0100 |
---|---|---|
committer | hut <hut@lavabit.com> | 2010-01-03 20:30:11 +0100 |
commit | 0b4e0c5bc5a30bfd6a97507eef1b697e57ff27c9 (patch) | |
tree | 6840067a82f86e6c0e0bdde1ba10979bfd52d47d | |
parent | b91d7c348e1077e02741fa40f90904c376ce807c (diff) | |
download | ranger-0b4e0c5bc5a30bfd6a97507eef1b697e57ff27c9.tar.gz |
applications: clean up
-rw-r--r-- | ranger/applications.py | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/ranger/applications.py b/ranger/applications.py index 210028c9..53939f30 100644 --- a/ranger/applications.py +++ b/ranger/applications.py @@ -164,32 +164,36 @@ class AppContext(object): This function tries to find an action if none is defined. """ - self.squash_flags() + # Try to find an action + if self.action is None: self.get_action() - # ---------------------------- determine keywords for Popen() + if self.action is None: + return False + + # Define some preconditions + + toggle_ui = True + pipe_output = False + + self.squash_flags() kw = {} kw['stdout'] = sys.stderr kw['stderr'] = sys.stderr kw['args'] = self.action - if kw['args'] is None: - return False - for word in ('shell', 'stdout', 'stdin', 'stderr'): if getattr(self, word) is not None: kw[word] = getattr(self, word) + # Evaluate the flags to determine keywords + # for Popen() and other variables + if 's' in self.flags or 'd' in self.flags: kw['stdout'] = kw['stderr'] = kw['stdin'] = devnull - # --------------------------- run them - toggle_ui = True - pipe_output = False - process = None - if 'p' in self.flags: kw['stdout'] = PIPE kw['stderr'] = PIPE @@ -201,10 +205,13 @@ class AppContext(object): toggle_ui = False self.wait = False + # Finally, run it + if toggle_ui: self._activate_ui(False) try: + process = None try: process = Popen(**kw) except: |