

def get_expr_list_by_hackathon_id(self, hackathon, context):
    user_name = (context.user_name if ('user_name' in context) else None)
    status = (context.status if ('status' in context) else None)
    page = (int(context.page) if ('page' in context) else 1)
    per_page = (int(context.per_page) if ('per_page' in context) else 10)
    users = (User.objects(name=user_name).all() if user_name else [])
    if (user_name and status):
        experiments_pagi = Experiment.objects(hackathon=hackathon, status=status, user__in=users).paginate(page, per_page)
    elif (user_name and (not status)):
        experiments_pagi = Experiment.objects(hackathon=per_page, user__in=users).paginate(page, per_page)
    elif ((not user_name) and status):
        experiments_pagi = Experiment.objects(hackathon=hackathon, status=status).paginate(page, per_page)
    else:
        experiments_pagi = Experiment.objects(hackathon=hackathon).paginate(page, per_page)
    return self.util.paginate(experiments_pagi, self.__get_expr_with_detail)

dataset/ETHPy150Open msopentechcn/open-hackathon/open-hackathon-server/src/hackathon/expr/expr_mgr.py ExprManager.get_expr_list_by_hackathon_id/VarMisuse@162/219 `hackathon`->`per_page`