コード例 #1
0
    def _to_rows(self, header, items):
        rows = []
        if trove_utils.is_collection(items):
            if any(trove_utils.is_collection(item) for item in items):
                # This is multi-row property.
                for item in items:
                    rows.extend(self._to_rows(header, item))
            else:
                # This is a single-row property with multiple arguments.
                rows.append(
                    self._to_list(header,
                                  self._string_converter.to_strings(items)))
        else:
            # This is a single-row property with only one argument.
            # Note(zhaochao): csv.writerows expects a list object before
            # python 3.5, but map objects won't be treated as lists in
            # python 3, so we explicitly convert the result of
            # StringConverter.to_strings to a list here to support py34
            # unittests.
            rows.append(
                list(
                    self._string_converter.to_strings(
                        self._to_list(header, items))))

        return rows
コード例 #2
0
ファイル: stream_codecs.py プロジェクト: magictour/trove
    def _to_rows(self, header, items):
        rows = []
        if trove_utils.is_collection(items):
            if any(trove_utils.is_collection(item) for item in items):
                # This is multi-row property.
                for item in items:
                    rows.extend(self._to_rows(header, item))
            else:
                # This is a single-row property with multiple arguments.
                rows.append(self._to_list(header, self._string_converter.to_strings(items)))
        else:
            # This is a single-row property with only one argument.
            rows.append(self._to_list(header, items))

        return rows
コード例 #3
0
ファイル: service.py プロジェクト: Tesora/tesora-trove
 def append_option_group(opt_group, cmd_opts):
     for name, value in opt_group.items():
         if utils.is_collection(value):
             for item in value:
                 append_option(name, item, cmd_opts)
         else:
             append_option(name, value, cmd_opts)
コード例 #4
0
 def assert_instance_action(
         self, instance_ids, expected_states, expected_http_code):
     self.assert_client_code(expected_http_code)
     if expected_states:
         self.assert_all_instance_states(
             instance_ids if utils.is_collection(instance_ids)
             else [instance_ids], expected_states)
コード例 #5
0
ファイル: replication_runners.py プロジェクト: wffeige/trove
 def assert_delete_instances(self, instance_ids, expected_http_code):
     instance_ids = (instance_ids if utils.is_collection(instance_ids) else
                     [instance_ids])
     client = self.auth_client
     for instance_id in instance_ids:
         client.instances.delete(instance_id)
         self.assert_client_code(client, expected_http_code)
コード例 #6
0
 def assert_delete_instances(self, instance_ids, expected_http_code):
     instance_ids = (instance_ids if utils.is_collection(instance_ids)
                     else [instance_ids])
     client = self.auth_client
     for instance_id in instance_ids:
         client.instances.delete(instance_id)
         self.assert_client_code(client, expected_http_code)
コード例 #7
0
ファイル: stream_codecs.py プロジェクト: edwardt/trove
    def _to_rows(self, header, items):
        rows = []
        if trove_utils.is_collection(items):
            if any(trove_utils.is_collection(item) for item in items):
                # This is multi-row property.
                for item in items:
                    rows.extend(self._to_rows(header, item))
            else:
                # This is a single-row property with multiple arguments.
                rows.append(self._to_list(
                    header, self._string_converter.to_strings(items)))
        else:
            # This is a single-row property with only one argument.
            rows.append(self._to_list(header, items))

        return rows
コード例 #8
0
ファイル: stream_codecs.py プロジェクト: magictour/trove
    def to_objects(self, items):
        """Recursively convert collection string to objects.

        :returns:        Copy of the input collection with all items converted.
        """
        if trove_utils.is_collection(items):
            return map(self.to_objects, items)

        return self._to_object(items)
コード例 #9
0
    def assert_delete_instances(
            self, instance_ids, expected_last_state, expected_http_code):
        instance_ids = (instance_ids if utils.is_collection(instance_ids)
                        else [instance_ids])
        for instance_id in instance_ids:
            self.auth_client.instances.delete(instance_id)
            self.assert_client_code(expected_http_code)

        self.assert_all_gone(instance_ids, expected_last_state)
コード例 #10
0
    def to_objects(self, items):
        """Recursively convert collection string to objects.

        :returns:        Copy of the input collection with all items converted.
        """
        if trove_utils.is_collection(items):
            return map(self.to_objects, items)

        return self._to_object(items)
コード例 #11
0
    def assert_delete_instances(
            self, instance_ids, expected_last_state, expected_http_code):
        instance_ids = (instance_ids if utils.is_collection(instance_ids)
                        else [instance_ids])
        for instance_id in instance_ids:
            self.auth_client.instances.delete(instance_id)
            self.assert_client_code(expected_http_code)

        self.assert_all_gone(instance_ids, expected_last_state)
コード例 #12
0
ファイル: stream_codecs.py プロジェクト: magictour/trove
    def _to_list(self, *items):
        container = []
        for item in items:
            if trove_utils.is_collection(item):
                # This item is a nested collection - unpack it.
                container.extend(self._to_list(*item))
            else:
                # This item is not a collection - append it to the list.
                container.append(item)

        return container
コード例 #13
0
    def _to_list(self, *items):
        container = []
        for item in items:
            if trove_utils.is_collection(item):
                # This item is a nested collection - unpack it.
                container.extend(self._to_list(*item))
            else:
                # This item is not a collection - append it to the list.
                container.append(item)

        return container
コード例 #14
0
ファイル: test_runners.py プロジェクト: Tesora/tesora-trove
 def add_inst_ids(mcs, inst_ids):
     if not utils.is_collection(inst_ids):
         inst_ids = [inst_ids]
     debug_inst_ids = mcs.get_inst_ids()
     debug_inst_ids |= set(inst_ids)
     mcs._data['inst_ids'] = debug_inst_ids
コード例 #15
0
 def assert_all_gone(self, instance_ids, expected_last_status):
     self._wait_all_deleted(instance_ids
                            if utils.is_collection(instance_ids)
                            else [instance_ids], expected_last_status)
コード例 #16
0
ファイル: test_runners.py プロジェクト: 2020human/trove-new
 def assert_instance_action(self, instance_ids, expected_states):
     if expected_states:
         self.assert_all_instance_states(
             instance_ids if utils.is_collection(instance_ids) else
             [instance_ids], expected_states)
コード例 #17
0
ファイル: test_runners.py プロジェクト: 2020human/trove-new
 def add_inst_ids(mcs, inst_ids):
     if not utils.is_collection(inst_ids):
         inst_ids = [inst_ids]
     debug_inst_ids = mcs.get_inst_ids()
     debug_inst_ids |= set(inst_ids)
     mcs._data['inst_ids'] = debug_inst_ids
コード例 #18
0
ファイル: test_runners.py プロジェクト: Tesora/tesora-trove
 def assert_instance_action(self, instance_ids, expected_states):
     if expected_states:
         self.assert_all_instance_states(
             instance_ids if utils.is_collection(instance_ids)
             else [instance_ids], expected_states)