Exemplo n.º 1
0
    def find_post_by_category(cls, category_name, page=1, per_page=10):
        """
        Find all post publish by specific author

        :param category_name: category name
        :param page: page index begin at 1
        :param per_page:
        :return:
        """

        if not category_name:
            raise InvalidFieldError("category cannot be empty", ["category"])
        cat_slug = get_slug_from_string(category_name)
        args = {"categories": "`%s`" % cat_slug}

        # validate pagination info
        if not is_id_valid(page):
            page = 1

        if int(per_page) <= 0 or int(per_page) >= 50:
            per_page = 10

        start = (page - 1) * per_page  # id in sql start at 1
        post_list = DBPost.search(search_dict=args, start=start, per_page=per_page, order_by="time desc")
        return post_list
Exemplo n.º 2
0
 def __init__(self, name):
     self.name = name
     self.slug = get_slug_from_string(name)