def get_filters_from_args(args): """Creates Filter objects from CLI arguments. :param args: CLI arguments. :return: List of created Filter objects. """ filters_list = [] if args.branch_names: filter_dict = {'type': 'name', 'regular_expressions': args.branch_names} filters_list.append(Filter.from_args(filter_dict)) if args.jira_team: if hasattr(args, 'jira_statuses') and args.jira_statuses: jira_statuses = args.jira_statuses else: jira_statuses = [] filter_dict = {'type': 'issue', 'jira_team_name': args.jira_team, 'jira_statuses': jira_statuses} filters_list.append(Filter.from_args(filter_dict)) return filters_list
def test_from_args_with_filter_types(self): filter_dict = {'type': 'name'} self.assertIsInstance(Filter.from_args(filter_dict), NameFilter) filter_dict['type'] = 'issue' self.assertIsInstance(Filter.from_args(filter_dict), IssueFilter)