Welcome, guest | Sign In | My Account | Store | Cart
"""subshell - simple non-persistent subshell for command execution"""

import os
import subprocess

class SubShell(object):
    # Slight misnomer since it isn't persistent, but close enough...

    def __init__(self, env=None):
        if env is None:
            env = os.environ.copy()
        self.env = env

    def capture(self, cmd):
        """Captures stdout for shell command"""
        return subprocess.check_output(cmd, shell=True, env=self.env)

    def run(self, cmd):
        """Result is True if return code was 0, False otherwise"""
        return not subprocess.call(cmd, shell=True, env=self.env)

History