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
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())