def test_get_display_data_multi_w_sorting(self): columns = ('id', 'name', 'severity_level') data = [{ 'id': 3, 'name': 'twitter', 'severity_level': 'error' }, { 'id': 15, 'name': 'google', 'severity_level': 'warning' }, { 'id': 2, 'name': 'amazon', 'severity_level': 'error' }, { 'id': 17, 'name': 'facebook', 'severity_level': 'note' }] # by single field self.assertEqual( utils.get_display_data_multi(fields=columns, data=data, sort_by=['name']), [[2, 'amazon', 'error'], [17, 'facebook', 'note'], [15, 'google', 'warning'], [3, 'twitter', 'error']]) # by multiple fields self.assertEqual( utils.get_display_data_multi(fields=columns, data=data, sort_by=['severity_level', 'id']), [[2, 'amazon', 'error'], [3, 'twitter', 'error'], [17, 'facebook', 'note'], [15, 'google', 'warning']])
def take_action(self, parsed_args): response = self.client.get_comments(parsed_args.change_id, comment_type=parsed_args.type) data = self.format_data(response) fetched_columns = [c for c in self.columns if data and c in data[0]] data = utils.get_display_data_multi(fetched_columns, data) return fetched_columns, data
def take_action(self, parsed_args): if parsed_args.description: self.columns += ('description', ) if parsed_args.branches: self.columns += ('branches', ) fetch_pattern = { k: v for k, v in (('prefix', parsed_args.prefix), ('match', parsed_args.match), ('regex', parsed_args.regex)) if v is not None } fetch_pattern = fetch_pattern if fetch_pattern else None data = self.client.get_all(is_all=parsed_args.all, limit=parsed_args.limit, skip=parsed_args.skip, pattern_dispatcher=fetch_pattern, project_type=parsed_args.type, description=parsed_args.description, branches=parsed_args.branches) data = self._reformat_data(data) for item in data: item = self._retrieve_web_links(item) if parsed_args.branches: item['branches'] = self._retrieve_branches(item) data = utils.get_display_data_multi(self.columns, data) return self.columns, data
def take_action(self, parsed_args): if parsed_args.all: self.columns += ('disabled',) data = self.client.get_all(detailed=parsed_args.all) data = self._reformat_data(data) data = utils.get_display_data_multi(self.columns, data) return self.columns, data
def test_get_display_data_multi_wo_sorting(self): columns = ('id', 'name') data = [{ 'id': 1, 'name': 'test_name_1' }, { 'id': 2, 'name': 'test_name_2' }] self.assertEqual( utils.get_display_data_multi(fields=columns, data=data), [[1, 'test_name_1'], [2, 'test_name_2']])
def take_action(self, parsed_args): fetched_pattern = { k: v for k, v in (('match', parsed_args.match), ('regex', parsed_args.regex)) if v is not None } or None response = self.client.get_tags(parsed_args.name, limit=parsed_args.limit, skip=parsed_args.skip, pattern_dispatcher=fetched_pattern) data = utils.get_display_data_multi(self.columns, response) return self.columns, data
def take_action(self, parsed_args): response = self.client.get_all(query=parsed_args.query, options=parsed_args.option, limit=parsed_args.limit, skip=parsed_args.skip) # Clients are allowed to specify more than one query. In this case # the result is an array of arrays, one per query in the same order # the queries were given in. If the number of queries more then one, # then merge arrays in a single one to display data correctly. if len(parsed_args.query) > 1: response = [item for sublist in response for item in sublist] fetched_columns = [c for c in self.columns if response and c in response[0]] data = utils.get_display_data_multi(fetched_columns, response) return fetched_columns, data
def take_action(self, parsed_args): if parsed_args.all or parsed_args.suggest: self.columns += ('username', 'name', 'email') if parsed_args.all_emails and not parsed_args.all: self.columns += ('email', 'secondary_emails') if parsed_args.all_emails and parsed_args.all or parsed_args.suggest: self.columns += ('secondary_emails', ) response = self.client.get_all(parsed_args.query, suggested=parsed_args.suggest, limit=parsed_args.limit, skip=parsed_args.skip, detailed=parsed_args.all, all_emails=parsed_args.all_emails) data = utils.get_display_data_multi(self.columns, response) return self.columns, data
def take_action(self, parsed_args): data = self.client.get_members(parsed_args.group_id, detailed=parsed_args.all) data = utils.get_display_data_multi(self.columns, data) return self.columns, data
def take_action(self, parsed_args): response = self.client.get_assignees(parsed_args.change_id) data = utils.get_display_data_multi(self.columns, response) return self.columns, data
def take_action(self, parsed_args): response = self.client.get_caches() data = self._reformat_data(response) data = utils.get_display_data_multi(self.columns, data) return self.columns, data
def take_action(self, parsed_args): response = self.client.get_tasks() data = utils.get_display_data_multi(self.columns, response) return self.columns, data
def take_action(self, parsed_args): data = self.client.get_all() data = self._reformat_data(data) data = utils.get_display_data_multi(self.columns, data) return self.columns, data
def take_action(self, parsed_args): response = self.client.get_membership(parsed_args.account_id) data = utils.get_display_data_multi(self.columns, response) return self.columns, data
def take_action(self, parsed_args): response = self.client.get_children( parsed_args.name, recursively=parsed_args.recursively) data = utils.get_display_data_multi(self.columns, response) return self.columns, data
def take_action(self, parsed_args): response = self.client.get_reflog(parsed_args.name, branch=parsed_args.branch) data = utils.get_display_data_multi(self.columns, response) return self.columns, data