示例#1
0
def gen_followers(to_id):
    user = User.get(to_id)
    if not user:
        return []

    pages = math.ceil((max(user.n_followers, 0) or 1) / PER_PAGE)
    for p in range(1, pages + 1):
        yield Contact.get_followers_paginate(to_id, p).items
示例#2
0
def render_user_page(identifier, renderer, target_cls, type='following',
                     endpoint=None):
    user = User.get(identifier)
    if not user:
        abort(404)
    page = request.args.get('page', default=1, type=int)
    if type == 'collect':
        p = CollectItem.get_paginate_by_user(user.id, page=page)
    elif type == 'like':
        p = LikeItem.get_paginate_by_user(user.id, page=page)
    elif type == 'following':
        p = Contact.get_following_paginate(user.id, page=page)
    elif type == 'followers':
        p = Contact.get_followers_paginate(user.id, page=page)
    p.items = target_cls.get_multi(p.items)
    return render_template(renderer, **locals())