class ProvisionArgsParser(object): def __init__(self, *args, **kwargs): if '-config' in sys.argv[1:] or '--configfile' in sys.argv[1:]: self.parser = ProvisionConfigParser() else: self.parser = ProvisionCommandLineParser() def parse_args(self): self.args = self.parser.parse_args() if self.valid_hostname() and self.valid_credentials() \ and self.check_db_supported(self.args.get('db_config').get('db_system')): if self.valid_git_repo(): return self.args, self.client return None def check_db_supported(self, db_system): if db_system != 'postgres' and db_system != 'mysql': message = '\ndb_system should be one of "postgres" or "mysql"' self.parser.error(message) return True def valid_hostname(self): try: socket.gethostbyname(self.args.get('server')) return True except socket.gaierror, e: message = '\nThe hostname %s is not a valid host \n' % (self.args.get('server')) self.parser.error(message)
def __init__(self, *args, **kwargs): if '-config' in sys.argv[1:] or '--configfile' in sys.argv[1:]: self.parser = ProvisionConfigParser() else: self.parser = ProvisionCommandLineParser()