]> granicus.if.org Git - python/commitdiff
small refactor and PEP8 line width/docstring
authorPhilip Jenvey <pjenvey@underboss.org>
Sat, 23 Jun 2012 22:54:38 +0000 (15:54 -0700)
committerPhilip Jenvey <pjenvey@underboss.org>
Sat, 23 Jun 2012 22:54:38 +0000 (15:54 -0700)
Lib/shutil.py

index c41046a380bd826756910bda92a1f0d14cc729b2..f743d05fc221dd296e3af2d8c592646831023e14 100644 (file)
@@ -1037,17 +1037,20 @@ def get_terminal_size(fallback=(80, 24)):
 
 def which(cmd, mode=os.F_OK | os.X_OK, path=None):
     """Given a command, mode, and a PATH string, return the path which
-    conforms to the given mode on the PATH, or None if there is no such file.
-    `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result of
-    os.environ.get("PATH"), or can be overridden with a custom search path."""
+    conforms to the given mode on the PATH, or None if there is no such
+    file.
+
+    `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result
+    of os.environ.get("PATH"), or can be overridden with a custom search
+    path.
+
+    """
     # Check that a given file can be accessed with the correct mode.
     # Additionally check that `file` is not a directory, as on Windows
     # directories pass the os.access check.
     def _access_check(fn, mode):
-        if (os.path.exists(fn) and os.access(fn, mode)
-            and not os.path.isdir(fn)):
-            return True
-        return False
+        return (os.path.exists(fn) and os.access(fn, mode)
+                and not os.path.isdir(fn))
 
     # Short circuit. If we're given a full path which matches the mode
     # and it exists, we're done here.
@@ -1066,8 +1069,9 @@ def which(cmd, mode=os.F_OK | os.X_OK, path=None):
         # See if the given file matches any of the expected path extensions.
         # This will allow us to short circuit when given "python.exe".
         matches = [cmd for ext in pathext if cmd.lower().endswith(ext.lower())]
-        # If it does match, only test that one, otherwise we have to try others.
-        files = [cmd + ext.lower() for ext in pathext] if not matches else [cmd]
+        # If it does match, only test that one, otherwise we have to try
+        # others.
+        files = [cmd] if matches else [cmd + ext.lower() for ext in pathext]
     else:
         # On other platforms you don't have things like PATHEXT to tell you
         # what file suffixes are executable, so just pass on cmd as-is.