diff options
Diffstat (limited to 'examples/customization/pwd-cd-and-system/utils.py')
-rw-r--r-- | examples/customization/pwd-cd-and-system/utils.py | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/examples/customization/pwd-cd-and-system/utils.py b/examples/customization/pwd-cd-and-system/utils.py deleted file mode 100644 index 6e3462e1c863..000000000000 --- a/examples/customization/pwd-cd-and-system/utils.py +++ /dev/null @@ -1,58 +0,0 @@ -"""Utility for changing directories and execution of commands in a subshell.""" - -import os -import shlex -import subprocess - -# Store the previous working directory for the 'cd -' command. - - -class Holder: - """Holds the _prev_dir_ class attribute for chdir() function.""" - _prev_dir_ = None - - @classmethod - def prev_dir(cls): - return cls._prev_dir_ - - @classmethod - def swap(cls, dir): - cls._prev_dir_ = dir - - -def chdir(debugger, args, result, dict): - """Change the working directory, or cd to ${HOME}. - You can also issue 'cd -' to change to the previous working directory.""" - new_dir = args.strip() - if not new_dir: - new_dir = os.path.expanduser('~') - elif new_dir == '-': - if not Holder.prev_dir(): - # Bad directory, not changing. - print "bad directory, not changing" - return - else: - new_dir = Holder.prev_dir() - - Holder.swap(os.getcwd()) - os.chdir(new_dir) - print "Current working directory: %s" % os.getcwd() - - -def system(debugger, command_line, result, dict): - """Execute the command (a string) in a subshell.""" - args = shlex.split(command_line) - process = subprocess.Popen( - args, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE) - output, error = process.communicate() - retcode = process.poll() - if output and error: - print "stdout=>\n", output - print "stderr=>\n", error - elif output: - print output - elif error: - print error - print "retcode:", retcode |