Exemple #1
0
 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
Exemple #3
0
 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
Exemple #5
0
 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']])
Exemple #6
0
 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
Exemple #8
0
    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
Exemple #9
0
 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
Exemple #10
0
 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
Exemple #11
0
 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
Exemple #12
0
 def take_action(self, parsed_args):
     response = self.client.get_tasks()
     data = utils.get_display_data_multi(self.columns, response)
     return self.columns, data
Exemple #13
0
 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
Exemple #14
0
 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
Exemple #15
0
 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
Exemple #16
0
 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