Esempio n. 1
0
    def get_all(self,
                story_id=None,
                name=None,
                marker=None,
                limit=None,
                offset=None):
        """Retrieve all tags.

        Example::

          curl https://my.example.org/api/v1/tags

        :param story_id: Filter tags by story ID.
        :param name: Filter tags by name.
        :param marker: ID of the tag to start results from.
        :param limit: Maximum number of results per page.
        :param offset: Number of results to offset page by.
        """

        if not story_id:
            marker_tag = tags_api.tag_get_by_id(marker)
            tags = tags_api.tag_get_all(name=name,
                                        marker=marker_tag,
                                        limit=limit,
                                        offset=offset)

            return [wmodels.Tag.from_db_model(t) for t in tags]

        story = stories_api.story_get(story_id,
                                      current_user=request.current_user_id)
        if not story:
            raise exc.NotFound("Story %s not found" % story_id)

        return [wmodels.Tag.from_db_model(t) for t in story.tags]
Esempio n. 2
0
    def get_one(self, tag_id):
        """Retrieve details about one tag.

        :param tag_id: An ID of the tag.
        """
        tag = tags_api.tag_get_by_id(tag_id)

        if tag:
            return wmodels.Tag.from_db_model(tag)
        else:
            raise exc.NotFound(_("Tag %s not found") % tag_id)
Esempio n. 3
0
    def get_one(self, tag_id):
        """Retrieve details about one tag.

        :param tag_id: An ID of the tag.
        """
        tag = tags_api.tag_get_by_id(tag_id)

        if tag:
            return wmodels.Tag.from_db_model(tag)
        else:
            raise exc.NotFound(_("Tag %s not found") % tag_id)
Esempio n. 4
0
    def get_one(self, tag_id):
        """Retrieve details about one tag.

        Example::

          curl https://my.example.org/api/v1/tags/159

        :param tag_id: An ID of the tag.
        """
        tag = tags_api.tag_get_by_id(tag_id)

        if tag:
            return wmodels.Tag.from_db_model(tag)
        else:
            raise exc.NotFound(_("Tag %s not found") % tag_id)
Esempio n. 5
0
    def get_one(self, tag_id):
        """Retrieve details about one tag.

        Example::

          curl https://my.example.org/api/v1/tags/159

        :param tag_id: An ID of the tag.
        """
        tag = tags_api.tag_get_by_id(tag_id)

        if tag:
            tag_model = wmodels.Tag.from_db_model(tag)
            tag_model.set_popularity(tag)
            return tag_model
        else:
            raise exc.NotFound(_("Tag %s not found") % tag_id)
Esempio n. 6
0
    def get_all(self, story_id=None, marker=None, limit=None):
        """Retrieve all tags for a given Story. If no story_id is provided
        all tags will be returned.

        :param story_id: Filter tags by story ID.
        """

        if not story_id:
            marker_tag = tags_api.tag_get_by_id(marker)
            tags = tags_api.tag_get_all(marker_tag, limit)

            return [wmodels.Tag.from_db_model(t) for t in tags]

        story = stories_api.story_get(story_id)
        if not story:
            raise exc.NotFound("Story %s not found" % story_id)

        return [wmodels.Tag.from_db_model(t) for t in story.tags]
Esempio n. 7
0
    def get_all(self, story_id=None, marker=None, limit=None):
        """Retrieve all tags for a given Story. If no story_id is provided
        all tags will be returned.

        :param story_id: Filter tags by story ID.
        """

        if not story_id:
            marker_tag = tags_api.tag_get_by_id(marker)
            tags = tags_api.tag_get_all(marker_tag, limit)

            return [wmodels.Tag.from_db_model(t) for t in tags]

        story = stories_api.story_get(story_id,
                                      current_user=request.current_user_id)
        if not story:
            raise exc.NotFound("Story %s not found" % story_id)

        return [wmodels.Tag.from_db_model(t) for t in story.tags]
Esempio n. 8
0
    def get_all(self, story_id=None, name=None, marker=None, limit=None,
                offset=None):
        """Retrieve all tags.

        Example::

          curl https://my.example.org/api/v1/tags

        :param story_id: Filter tags by story ID.
        :param name: Filter tags by name.
        :param marker: ID of the tag to start results from.
        :param limit: Maximum number of results per page.
        :param offset: Number of results to offset page by.
        """

        if not story_id:
            marker_tag = tags_api.tag_get_by_id(marker)
            tags = tags_api.tag_get_all(name=name,
                                        marker=marker_tag,
                                        limit=limit,
                                        offset=offset)

            result = []
            for t in tags:
                tag = wmodels.Tag.from_db_model(t)
                tag.set_popularity(t)
                result.append(tag)
            return result

        story = stories_api.story_get(
            story_id, current_user=request.current_user_id)
        if not story:
            raise exc.NotFound("Story %s not found" % story_id)

        result = []
        for t in story.tags:
            tag = wmodels.Tag.from_db_model(t)
            tag.set_popularity(t)
            result.append(tag)
        return result