def __init__(self, args, repo, commit, required_interfaces, system_config):
    self.args = args
    self.system_config = system_config
    self.repo = repo
    self.commit = commit
    project_dir = self.system_config['configuration']['project_directory']
    parsed = urlparse(repo)
    self.directory = os.path.join(project_dir, parsed.path.rpartition('/')[(- 1)])
    if args.clone_repos:
        self.clone_repo()
    self.gitsha = get_git_sha(self.directory)
    yaml_file = os.path.join(self.directory, 'info.yaml')
    self.config = parse_config(yaml_file, REQUIRED_KEYS_SINGLE)
    self.id = int(self.config['caravel_test']['id'])
    self.module_name = self.config['caravel_test']['module_name']
    self.interfaces = (required_interfaces + self.config['interfaces'])
    self.gds_filename = os.path.join(self.config['gds']['directory'], self.config['gds']['gds_filename'])
    self.lef_filename = os.path.join(self.config['gds']['directory'], self.config['gds']['lef_filename'])
    self.lvs_filename = os.path.join(self.config['gds']['directory'], self.config['gds']['lvs_filename'])
    self.title = self.config['project']['title']
    self.author = self.config['project']['author']
def __init__(self, args, repo, commit, required_interfaces, system_config):
    self.args = args
    self.system_config = system_config
    self.repo = repo
    self.commit = commit
    project_dir = self.system_config['configuration']['project_directory']
    parsed = urlparse(repo)
    self.directory = os.path.join(project_dir, parsed.path.rpartition('/')[(- 1)])
    if args.clone_repos:
        self.clone_repo()
    self.gitsha = get_git_sha(self.directory)
    yaml_file = os.path.join(self.directory, 'info.yaml')
    self.config = parse_config(yaml_file, REQUIRED_KEYS_SINGLE)
    self.id = int(self.config['caravel_test']['id'])
    self.module_name = self.config['caravel_test']['module_name']
    self.interfaces = (required_interfaces + self.config['interfaces'])
    self.gds_filename = os.path.join(self.config['gds']['directory'], self.config['gds']['gds_filename'])
    self.lef_filename = os.path.join(self.config['gds']['directory'], self.config['gds']['lef_filename'])
    self.lvs_filename = os.path.join(self.config['gds']['directory'], self.config['gds']['lvs_filename'])
    self.title = self.config['project']['title']
    self.author = self.config['project']['author']