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