Example #1
0
    def get_shared_data(self, shared_ids):
        """Get all shared data related to input shared ids.

        :param shared_ids: one or more data.
        :type shared_ids: list or str

        :return: depending on input shared_ids::

            - one shared id: one list of shared data
            - list of shared ids: list of list of shared data
        """

        result = []

        sids = ensure_iterable(shared_ids, iterable=set)

        for shared_id in sids:
            query = {CompositeStorage.SHARED: shared_id}
            shared_data = self.get_elements(query=query)
            result.append(shared_data)

        # return first or data if data is not an iterable
        if not isiterable(shared_ids, is_str=False):
            result = get_first(result)

        return result
Example #2
0
    def get_shared_data(self, shared_ids):
        """Get all shared data related to input shared ids.

        :param shared_ids: one or more data.
        :type shared_ids: list or str

        :return: depending on input shared_ids::

            - one shared id: one list of shared data
            - list of shared ids: list of list of shared data
        """

        result = []

        sids = ensure_iterable(shared_ids, iterable=set)

        for shared_id in sids:
            query = {CompositeStorage.SHARED: shared_id}
            shared_data = self.get_elements(query=query)
            result.append(shared_data)

        # return first or data if data is not an iterable
        if not isiterable(shared_ids, is_str=False):
            result = get_first(result)

        return result
Example #3
0
    def put_elt(elt, graph_ids=None, cache=False):
        """Put element.

        :param elt: element to put.
        :type elt: dict.
        :param str graph_ids: element topology id. None if elt is a topology.
        :param bool cache: use query cache if True (False by default).
        """

        elts = manager.put_elts(elts=elt, graph_ids=graph_ids, cache=cache)

        return get_first(elts)