/
usr
/
lib
/
python2.7
/
site-packages
/
clcommon
/
Upload Filee
HOME
#!/usr/bin/python # -*- coding: utf-8 -*- import subprocess class ExternalProgramFailed(Exception): def __init__(self, message): Exception.__init__(self, message) def run_command(cmd, env_data=None): """ Runs external process and returns output @param cmd: command and arguments as a list @return: string """ cmd_line = ' '.join(cmd) try: output = subprocess.Popen( cmd, stdin=open('/dev/null'), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True, env=env_data) except OSError, oserr: raise ExternalProgramFailed('%s. Can not run command: %s' % (cmd_line, str(oserr))) std_out, std_err = output.communicate() if output.returncode != 0: raise ExternalProgramFailed(std_err or 'output of the command: %s\n%s' % (cmd_line, std_out)) return std_out def delete_line_from_file(path, line): """ Delete line from file. Return True when line(s) have been deleted, False otherwise (specified line is not found) :param path: path to file :type path: string :param line: line to delete without EOL ('\n') :type line: string :rtype bool """ found = False f = open(path, 'r+') lines = f.readlines() f.seek(0) for l in lines: if l != ('%s\n' % line): f.write(l) else: found = True f.truncate() f.close() return found