def __init__(self, path=None, setting=None, db=None, useshell=True): DBCache.__init__(self, db=db) self.log = MythLog(self.logmodule, db=self) self.path = None if setting is not None: # pull setting from database, substitute from argument if needed host = self.gethostname() self.path = self.settings[host][setting] if (self.path is None) and (path is None): raise MythDBError(MythError.DB_SETTING, setting, host) if self.path is None: # setting not given, use path from argument if path is None: raise MythError('Invalid input to System()') self.path = path cmd = self.path.split()[0] if self.path.startswith('/'): # test full given path if not os.access(cmd, os.F_OK): raise MythFileError('Defined executable path does not exist.') else: # search command from PATH for folder in os.environ['PATH'].split(':'): if os.access(os.path.join(folder,cmd), os.F_OK): self.path = os.path.join(folder,self.path) break else: raise MythFileError('Defined executable path does not exist.') self.returncode = 0 self.stderr = '' self.useshell = useshell
def __init__(self, path=None, setting=None, db=None, useshell=True): DBCache.__init__(self, db=db) self.log = MythLog(self.logmodule, db=self) self.path = None if setting is not None: # pull setting from database, substitute from argument if needed host = self.gethostname() self.path = self.settings[host][setting] if (self.path is None) and (path is None): raise MythDBError(MythError.DB_SETTING, setting, host) if self.path is None: # setting not given, use path from argument if path is None: raise MythError('Invalid input to System()') self.path = path cmd = self.path.split()[0] if self.path.startswith('/'): # test full given path if not os.access(cmd, os.F_OK): raise MythFileError('Defined executable path does not exist.') else: # search command from PATH for folder in os.environ['PATH'].split(':'): if os.access(os.path.join(folder, cmd), os.F_OK): self.path = os.path.join(folder, self.path) break else: raise MythFileError('Defined executable path does not exist.') self.returncode = 0 self.stderr = '' self.useshell = useshell
def __init__(self, path=None, setting=None, db=None): DBCache.__init__(self, db=db) self.log = MythLog(self.logmodule, db=self) self.path = None if setting is not None: host = self.gethostname() self.path = self.settings[host][setting] if (self.path is None) and (path is None): raise MythDBError(MythError.DB_SETTING, setting, host) if self.path is None: if path is None: raise MythError('Invalid input to System()') self.path = path if self.path.startswith('/'): if not os.access(self.path.split()[0], os.F_OK): raise MythFileError('Defined grabber path does not exist.') self.returncode = 0 self.stderr = ''