about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-01-03 20:30:11 +0100
committerhut <hut@lavabit.com>2010-01-03 20:30:11 +0100
commit0b4e0c5bc5a30bfd6a97507eef1b697e57ff27c9 (patch)
tree6840067a82f86e6c0e0bdde1ba10979bfd52d47d
parentb91d7c348e1077e02741fa40f90904c376ce807c (diff)
downloadranger-0b4e0c5bc5a30bfd6a97507eef1b697e57ff27c9.tar.gz
applications: clean up
-rw-r--r--ranger/applications.py27
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:
g.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
#!/usr/bin/env python
"""
You can use this tool to find out values of keypresses
"""

from curses import *

sep = '; '

@wrapper
def main(w):
	while True:
		w.addstr(str(w.getch()) + sep)