def test_empty(self): target = Target() assert target.user is None assert target.project is None assert target.build_id is None assert target.job_id is None assert target.build_number is None assert target.job_number is None
def _select_repo_builds(targets, slug): """Filter targets for one repo.""" targets = [target for target in targets if target.slug == slug] build_numbers = set(target.build_number for target in targets if isinstance(target, Target)) builds = [ Target(slug=slug, build_number=build_number) for build_number in build_numbers ] return builds
def get_stored_targets(base_dir, log_filename_format=None): """Get parsed stored targets.""" assert log_filename_format if '{job.state}' in log_filename_format: log_filename_format = log_filename_format.replace( '{job.state}', '{job.state:w}') if '{job.number}' in log_filename_format: log_filename_format = log_filename_format.replace( '{job.number}', '{job.number:f}') parser = parse.compile(log_filename_format) if base_dir[-1] != '/': base_dir = base_dir + '/' filenames = get_files(base_dir) targets = [] for filename in filenames: parsed_filename = parser.parse(filename) if not parsed_filename: __logs__.warning('Unexpected filename {0}'.format(filename)) continue target = Target() try: target.slug = parsed_filename['job.repository.slug'] except KeyError: pass try: target.number = str(parsed_filename['job.number']) except KeyError: pass try: target.state = parsed_filename['job.state'] except KeyError: pass targets.append(target) return targets