def list_problems(args): probs = sort_problems(problem.list(auth=args.auth)) if args.since: probs = filter_since_timestamp(probs, args.since) if args.until: probs = filter_until_timestamp(probs, args.until) if args.not_reported: probs = filter_not_reported(probs) if not args.fmt: fmt = config.MEDIUM_FMT else: fmt = args.fmt if args.pretty != 'medium': fmt = getattr(config, '{}_FMT'.format(args.pretty.upper())) out = fmt_problems(probs, fmt=fmt) if out: print(out) else: print(_('No problems'))
def match_lookup(patterns, authenticate=False, executables=None, components=None, since=None, until=None, n_latest=None, not_reported=False): ''' Return problems that match `in_arg` passed on command line ''' problems = problem.list(auth=authenticate) if not patterns: return sort_problems(problems)[:1] if '*' not in patterns: id_matches = filter_ids(problems, patterns) path_matches = filter_paths(problems, patterns) problems = list(set(id_matches) | set(path_matches)) problems = filter_executables(problems, executables) problems = filter_components(problems, components) if since: problems = filter_since_timestamp(problems, since) if until: problems = filter_until_timestamp(problems, until) if n_latest: problems = sort_problems(problems)[:n_latest] if not_reported: problems = filter_not_reported(problems) return problems
def test_filter_until_timestamp(self): pl = problem.list() until = datetime.datetime(2015, 1, 1, 1, 1, 1) until_ts = until.strftime('%s') res = filter_until_timestamp(pl, until_ts) self.assertEqual(len(res), 2)