def render_user_page(identifier, template_file, target_cls, type="following", endpoint=None): user = User.cache.get(identifier) if not user: user = User.cache.filter(name=identifier).first() if not user: abort(404) page = request.args.get("page", default=1, type=int) if type == "collect": p = CollectItem.get_target_ids_by_user(user.id, page=page) elif type == "like": p = LikeItem.get_target_ids_by_user(user.id, page=page) elif type == "following": p = Contact.get_following_ids(user.id, page=page) elif type == "follower": p = Contact.get_follower_ids(user.id, page=page) p.items = target_cls.get_multi(p.items) return render_template(template_file, **locals())
def render_user_page(identifier, renderer, target_cls, type='following', endpoint=None): user = User.cache.get(identifier) if not user: user = User.cache.filter(name=identifier).first() if not user: abort(404) page = request.args.get('page', default=1, type=int) if type == 'like': p = LikeItem.get_target_ids_by_user(user.id, page=page) # post ids paginate elif type == 'collect': p = CollectItem.get_target_ids_by_user(user.id, page=page) # post ids paginate elif type == 'following': p = Contact.get_following_ids(user.id, page=page) # user ids paginate elif type == 'followers': p = Contact.get_follower_ids(user.id, page=page) # user ids paginate p.items = target_cls.get_multi(p.items) # posts or users return render_template(renderer, **locals())