コード例 #1
0
ファイル: node.py プロジェクト: fabio14/iotronic
    def get(cls, context, node_id):
        """Find a node based on its id or uuid and return a Node object.

        :param node_id: the id *or* uuid of a node.
        :returns: a :class:`Node` object.
        """
        if strutils.is_int_like(node_id):
            return cls.get_by_id(context, node_id)
        elif uuidutils.is_uuid_like(node_id):
            return cls.get_by_uuid(context, node_id)
        else:
            raise exception.InvalidIdentity(identity=node_id)
コード例 #2
0
ファイル: board.py プロジェクト: Zakaria-Ben/iotronic
    def get(cls, context, board_id):
        """Find a board based on its id or uuid and return a Board object.

        :param board_id: the id *or* uuid of a board.
        :returns: a :class:`Board` object.
        """
        if strutils.is_int_like(board_id):
            return cls.get_by_id(context, board_id)
        elif uuidutils.is_uuid_like(board_id):
            return cls.get_by_uuid(context, board_id)
        else:
            raise exception.InvalidIdentity(identity=board_id)
コード例 #3
0
ファイル: sessionwp.py プロジェクト: Zakaria-Ben/iotronic
    def get(cls, context, session_or_board_uuid):
        """Find a session based on its id or uuid and return a SessionWP object.

        :param session_id: the id *or* uuid of a session.
        :returns: a :class:`SessionWP` object.
        """
        if strutils.is_int_like(session_or_board_uuid):
            return cls.get_by_id(context, session_or_board_uuid)
        elif uuidutils.is_uuid_like(session_or_board_uuid):
            return cls.get_by_uuid(context, session_or_board_uuid)
        else:
            raise exception.InvalidIdentity(identity=session_or_board_uuid)
コード例 #4
0
ファイル: location.py プロジェクト: fabio14/iotronic
    def get(cls, context, location_id):
        """Find a location based on its id or uuid and return a Location object.

        :param location_id: the id *or* uuid of a location.
        :returns: a :class:`Location` object.
        """
        if strutils.is_int_like(location_id):
            return cls.get_by_id(context, location_id)
        elif uuidutils.is_uuid_like(location_id):
            return cls.get_by_uuid(context, location_id)
        else:
            raise exception.InvalidIdentity(identity=location_id)
コード例 #5
0
    def get(cls, context, port_id):
        """Find a port based on its id or uuid and return a Port object.

        :param port_id: the id *or* uuid of a port.
        :returns: a :class:`Port` object.
        """
        if strutils.is_int_like(port_id):
            return cls.get_by_id(context, port_id)
        elif uuidutils.is_uuid_like(port_id):
            return cls.get_by_uuid(context, port_id)
        else:
            raise exception.InvalidIdentity(identity=port_id)
コード例 #6
0
ファイル: api.py プロジェクト: fabio14/iotronic
def add_identity_filter(query, value):
    """Adds an identity filter to a query.

    Filters results by ID, if supplied value is a valid integer.
    Otherwise attempts to filter results by UUID.

    :param query: Initial query to add filter to.
    :param value: Value for filtering results by.
    :return: Modified query.
    """
    if strutils.is_int_like(value):
        return query.filter_by(id=value)
    elif uuidutils.is_uuid_like(value):
        return query.filter_by(uuid=value)
    else:
        raise exception.InvalidIdentity(identity=value)