summaryrefslogtreecommitdiff
path: root/Lib/commands.py
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2008-05-26 19:04:21 +0000
committerBrett Cannon <bcannon@gmail.com>2008-05-26 19:04:21 +0000
commita23810f86a53e394936b38ed9c6104fe2cc592cf (patch)
treef39d39741d348f914c151484fce95af2b33b295f /Lib/commands.py
parent35af8d4218138e74f37a083b7e3c8abd4c0f1c11 (diff)
downloadcpython-git-a23810f86a53e394936b38ed9c6104fe2cc592cf.tar.gz
The commands module has been removed. The getoutput() and getstatusoutput()
functions have been added to the subprocess module. The fixer for this still needs to be written and proper Py3K deprecation warnings for the functions that didn't make the transition need to be done in 2.6. This is all part of trying to close issue #2872.
Diffstat (limited to 'Lib/commands.py')
-rw-r--r--Lib/commands.py77
1 files changed, 0 insertions, 77 deletions
diff --git a/Lib/commands.py b/Lib/commands.py
deleted file mode 100644
index ee4db8595a..0000000000
--- a/Lib/commands.py
+++ /dev/null
@@ -1,77 +0,0 @@
-"""Execute shell commands via os.popen() and return status, output.
-
-Interface summary:
-
- import commands
-
- outtext = commands.getoutput(cmd)
- (exitstatus, outtext) = commands.getstatusoutput(cmd)
- outtext = commands.getstatus(file) # returns output of "ls -ld file"
-
-A trailing newline is removed from the output string.
-
-Encapsulates the basic operation:
-
- pipe = os.popen('{ ' + cmd + '; } 2>&1', 'r')
- text = pipe.read()
- sts = pipe.close()
-
- [Note: it would be nice to add functions to interpret the exit status.]
-"""
-
-__all__ = ["getstatusoutput", "getoutput"]
-
-# Module 'commands'
-#
-# Various tools for executing commands and looking at their output and status.
-#
-# NB This only works (and is only relevant) for UNIX.
-
-
-# Get the output from a shell command into a string.
-# The exit status is ignored; a trailing newline is stripped.
-# Assume the command will work with '{ ... ; } 2>&1' around it..
-#
-def getoutput(cmd):
- """Return output (stdout or stderr) of executing cmd in a shell."""
- return getstatusoutput(cmd)[1]
-
-
-# Ditto but preserving the exit status.
-# Returns a pair (sts, output)
-#
-def getstatusoutput(cmd):
- """Return (status, output) of executing cmd in a shell."""
- import os
- pipe = os.popen('{ ' + cmd + '; } 2>&1', 'r')
- text = pipe.read()
- sts = pipe.close()
- if sts is None: sts = 0
- if text[-1:] == '\n': text = text[:-1]
- return sts, text
-
-
-# Make command argument from directory and pathname (prefix space, add quotes).
-#
-def mk2arg(head, x):
- import os
- return mkarg(os.path.join(head, x))
-
-
-# Make a shell command argument from a string.
-# Return a string beginning with a space followed by a shell-quoted
-# version of the argument.
-# Two strategies: enclose in single quotes if it contains none;
-# otherwise, enclose in double quotes and prefix quotable characters
-# with backslash.
-#
-def mkarg(x):
- if '\'' not in x:
- return ' \'' + x + '\''
- s = ' "'
- for c in x:
- if c in '\\$"`':
- s = s + '\\'
- s = s + c
- s = s + '"'
- return s