예제 #1
0
def _get_pre_next_restaurant_ids(restaurant_id):
    certs = cert_base.get_by_status(STATUS_PENDING)

    restaurant_ids = [cert.restaurant_id for cert in certs]

    pre_id = next_id = RESTAURANT_NOT_EXIST_ID
    try:
        index = restaurant_ids.index(restaurant_id)
    except ValueError:
        return pre_id, next_id

    if index != 0:
        pre_id = restaurant_ids[index - 1]
    if index != len(restaurant_ids) - 1:
        next_id = restaurant_ids[index + 1]
    return pre_id, next_id
예제 #2
0
파일: cert.py 프로젝트: liuzelei/walis
def _get_pre_next_restaurant_ids(restaurant_id):
    certs = cert_base.get_by_status(STATUS_PENDING)

    restaurant_ids = [cert.restaurant_id for cert in certs]

    pre_id = next_id = RESTAURANT_NOT_EXIST_ID
    try:
        index = restaurant_ids.index(restaurant_id)
    except ValueError:
        return pre_id, next_id

    if index != 0:
        pre_id = restaurant_ids[index - 1]
    if index != len(restaurant_ids) - 1:
        next_id = restaurant_ids[index + 1]
    return pre_id, next_id
예제 #3
0
def get_list_from_mm():
    args_spec = {
        'cert_type': Arg(int, allow_missing=True),
        'cert_status': Arg(int, allow_missing=True),
        'time_from': Arg(str, allow_missing=True),
        'time_to': Arg(str, allow_missing=True),
        'restaurant_id_or_name': Arg(unicode, allow_missing=True),
    }
    args = args_parser.parse(args_spec)
    cert_type = args.get('cert_type', None)
    status = args.get('cert_status')
    time_from = args.get('time_from', None)
    time_to = args.get('time_to', None)
    restaurant_id_or_name = args.get('restaurant_id_or_name', None)

    page_no, page_size = get_paging_params()
    offset = (page_no-1)*page_size

    certs = cert_base.get_by_status(status)

    if not certs:
        return {'cert_list': [], 'total_num': 0}

    response_certs = _assemble_cert_response(certs)

    if cert_type:
        response_certs = filter(lambda res: res['type'] == cert_type,
                                response_certs)

    if time_from:
        response_certs = filter(lambda res: time_from <
                                res['application_time'], response_certs)

    if time_to:
        response_certs = filter(lambda res: res['application_time'] <
                                time_to, response_certs)

    if restaurant_id_or_name is not None:
        response_certs = filter(
            lambda res: restaurant_id_or_name in
            str(res['restaurant_id']) + res['restaurant_name'],
            response_certs)

    return {'total_num': len(response_certs),
                             'cert_list': paging(response_certs)}
예제 #4
0
파일: cert.py 프로젝트: liuzelei/walis
def get_list_from_mm():
    args_spec = {
        "cert_type": Arg(int, allow_missing=True),
        "cert_status": Arg(int, allow_missing=True),
        "time_from": Arg(str, allow_missing=True),
        "time_to": Arg(str, allow_missing=True),
        "restaurant_id_or_name": Arg(unicode, allow_missing=True),
    }
    args = args_parser.parse(args_spec)
    cert_type = args.get("cert_type", None)
    status = args.get("cert_status")
    time_from = args.get("time_from", None)
    time_to = args.get("time_to", None)
    restaurant_id_or_name = args.get("restaurant_id_or_name", None)

    page_no, page_size = get_paging_params()
    offset = (page_no - 1) * page_size

    certs = cert_base.get_by_status(status)

    if not certs:
        return {"cert_list": [], "total_num": 0}

    response_certs = _assemble_cert_response(certs)

    if cert_type:
        response_certs = filter(lambda res: res["type"] == cert_type, response_certs)

    if time_from:
        response_certs = filter(lambda res: time_from < res["application_time"], response_certs)

    if time_to:
        response_certs = filter(lambda res: res["application_time"] < time_to, response_certs)

    if restaurant_id_or_name is not None:
        response_certs = filter(
            lambda res: restaurant_id_or_name in str(res["restaurant_id"]) + res["restaurant_name"], response_certs
        )

    return {"total_num": len(response_certs), "cert_list": paging(response_certs)}