def update_camera_stream_enable(request): enable = get_params_from_request(request, update_camera_stream_toggle_schema)['enable'] if enable: request.registry.camera_mngr.enable_camera_stream(request.matchdict['project_name'], request.matchdict['camera_id']) else: request.registry.camera_mngr.disable_camera_stream(request.matchdict['project_name'], request.matchdict['camera_id']) return Response(status=200)
def manual_start_record(request): req = get_params_from_request(request, start_manual_record_schema) request.registry.record_config_mngr.start_manual_record( request.matchdict['project_name'], request.matchdict['camera_id'], **req )
def update_camera(request): request.registry.camera_mngr.update_camera_by_id( request.matchdict['project_name'], request.matchdict['camera_id'], **get_params_from_request(request, update_camera_request_schema) ) return Response(status=200)
def update_camera_record_config(request): req = get_params_from_request(request, update_record_config_schema) request.registry.record_config_mngr.update_config_by_camera( request.matchdict['project_name'], request.matchdict['camera_id'], **req )
def backup_to_event_record(request): req = get_params_from_request(request, create_from_camera_record_schema) event_id = request.registry.event_record_mngr.create_from_camera_record( project_name=request.matchdict['project_name'], **req ) return {'event_id': event_id}
def get_user_list(request): params = get_params_from_request(request, get_user_list_schema) total, user_list = request.registry.user_mngr.get_user_list_in_pages( params.get("filter_key", None), params.get("filter_value", ""), params["start"], params["limit"] ) resp = {"total": total, "start": params["start"], "list": user_list} return resp
def op_live_show(request): op = get_params_from_request(request, op_live_show_request_schema)["op"] if op == "start": request.registry.live_show_mngr.start_live_show( request.matchdict["project_name"], request.matchdict["live_show_id"] ) elif op == "stop": request.registry.live_show_mngr.stop_live_show( request.matchdict["project_name"], request.matchdict["live_show_id"] ) elif op == "restart": request.registry.live_show_mngr.restart_live_show( request.matchdict["project_name"], request.matchdict["live_show_id"] ) elif op == "pause": request.registry.live_show_mngr.pause_live_show( request.matchdict["project_name"], request.matchdict["live_show_id"] ) elif op == "resume": request.registry.live_show_mngr.resume_live_show( request.matchdict["project_name"], request.matchdict["live_show_id"] ) elif op == "reset": request.registry.live_show_mngr.reset_live_show( request.matchdict["project_name"], request.matchdict["live_show_id"] ) return Response(status=200)
def put_user_password(request): username = request.matchdict['username'] params = get_params_from_request(request, mod_user_password_schema) request.registry.user_mngr.change_password(username, params['old_password'], params['new_password']) return Response(status=200)
def update_live_show(request): request.registry.live_show_mngr.update_live_show_by_id( request.matchdict["project_name"], request.matchdict["live_show_id"], **get_params_from_request(request, update_live_show_request_schema) ) return Response(status=200)
def get_event_record_list(request): req = get_params_from_request(request, get_event_record_list_schema) start = req['start'] limit = req['limit'] total = request.registry.event_record_mngr.get_event_count( request.matchdict['project_name'], camera_id=req.get('camera_id'), start_from=req.get('start_from'), end_to=req.get('end_to') ) resp = {'total': total, 'start': req['start'], 'list': []} if limit > 0 and start < total: event_list = request.registry.event_record_mngr.get_event_list( request.matchdict['project_name'], camera_id=req.get('camera_id'), start_from=req.get('start_from'), end_to=req.get('end_to'), start=req['start'], limit=req['limit'], with_hls_url=True, token=get_token_from_request(request) ) resp['list'] = event_list return resp
def update_device(request): request.registry.device_mngr.update_device_by_id( request.matchdict["project_name"], request.matchdict["device_id"], **get_params_from_request(request, update_device_rquest_schema) ) return Response(status=200)
def post_wechat_binding_login(request): params = get_params_from_request(request, binding_login_schema) jwt = request.registry.wechat_mngr.binding_login( binding_id=params['binding_id'], expired=params['expired'] ) return {'jwt': jwt}
def post_wechat_code_login(request): params = get_params_from_request(request, code_login_schema) username, binding_id, jwt = request.registry.wechat_mngr.code_login( code=params['code'], expired=params['expired'] ) return {'username': username, 'binding_id': binding_id, 'jwt': jwt}
def update_project_firmware(request): request.registry.firmware_mngr.update_firmware_by_id( request.matchdict['firmware_id'], project_name=request.matchdict['project_name'], **get_params_from_request(request, update_firmware_rquest_schema) ) return Response(status=200)
def post_test_jwt_list(request): params = get_params_from_request(request, new_jwt_schema) if params['exp'] == 0: params['exp'] = int(time.time()) + 3600 secret = params.pop('secret') jwt_str = jwt.encode(params, secret) return {'jwt': jwt_str}
def update_move_detect_config(request): req = get_params_from_request(request, update_move_detect_config_request_schema) request.registry.move_detect_config_mngr.update_move_detect_config( request.matchdict['project_name'], request.matchdict['camera_id'], **req ) return Response(status=200)
def post_bill_list(request): params = get_params_from_request(request, add_bill_schema) project_name = request.matchdict['project_name'] username = request.unauthenticated_userid bill = request.registry.bill_mngr.add_bill(project_name=project_name, username=username, **params) return bill
def get_user_session_log_list(request): req = get_params_from_request(request, get_session_log_list_schema) resp = {'list': []} resp['list'] = request.registry.user_vod_session_log_mngr.get_session_log_list( request.matchdict['project_name'], **req ) return resp
def post_user_project_list(request): username = request.matchdict['username'] params = get_params_from_request(request, project_op_schema) if params['op'] == 'join': request.registry.user_mngr.join_to_project(username, params['project_name']) elif params['op'] == 'leave': request.registry.user_mngr.leave_from_project(username, params['project_name']) return Response(status=200)
def update_event_record(request): req = get_params_from_request(request, update_event_record_schema) event = request.registry.event_record_mngr.update_event_by_id( request.matchdict['project_name'], request.matchdict['event_id'], **req ) return event
def ctrl_ptz_patrol(request): req = get_params_from_request(request, ctrl_ptz_patrol_schema) request.registry.camera_mngr.ctrl_ptz_patrol( request.matchdict['project_name'], request.matchdict['camera_id'], req['op'] ) return Response(status=200)
def update_alarm_linkage_config(request): req = get_params_from_request(request, update_alarm_linkage_config_schema) request.registry.alarm_linkage_config_mngr.update_config_by_camera( request.matchdict['project_name'], request.matchdict['camera_id'], **req ) return Response(status=200)
def post_plaintext_login(request): params = get_params_from_request(request, login_schema) jwt = request.registry.access_key_mngr.plaintext_login( username=params['username'], password_plain=params['password'], expired=params['expired'] ) return {'jwt': jwt}
def keepalive(request): agent_id = request.matchdict['agent_id'] req = get_params_from_request(request, agent_keepalive_schema) request.registry.record_agent_mngr.keepalive( agent_id, req['endpoint'], req['load'], req['session_id_list']) return Response(status=200)
def rtmp_publish_cbk(request): if request.params.get('call') == 'publish': try: req = get_params_from_request(request, rtmp_publish_cbk_schema) request.registry.stream_mngr.on_rtmp_ready(req['name']) return Response(status=200) except Exception: log.exception('Failed to handle RTMP publish callback') return Response(status=200)
def get_access_key_list(request): params = get_params_from_request(request, get_access_key_list_schema) total, access_key_list = request.registry.access_key_mngr.get_key_list_in_pages( username=params.get('username', None), key_type=params.get('key_type', None), start_index=params['start'], max_number=params['limit']) resp = {'total': total, 'start': params['start'], 'list': access_key_list} return resp
def get_wechat_message_api(request): params = get_params_from_request(request) signature = params.get('signature', '') timestamp = params.get('timestamp', '') nonce = params.get('nonce', '') echostr = params.get('echostr', '') request.registry.wechat_mngr.check_signature(signature=signature, timestamp=timestamp, nonce=nonce) return echostr
def get_user_list(request): params = get_params_from_request(request, get_user_list_schema) total, user_list = request.registry.user_mngr.get_user_list_in_pages( params.get('filter_key', None), params.get('filter_value', ""), params['start'], params['limit']) resp = {'total': total, 'start': params['start'], 'list': user_list} return resp
def start_stream(request): req = get_params_from_request(request, start_stream_schema) stream = request.register.stream_mngr.request_stream( request.matchdict['project_name'], request.matchdict['camera_id'], stream_format='rtmp', stream_quality=req['quality'], auto_delete=req['autodelete'], create=True, ) return {'stream_id': stream.id}
def get_device_list(request): req = get_params_from_request(request, get_project_list_schema) start = req['start'] limit = req['limit'] total = request.registry.project_mngr.get_project_count() resp = {'total': total, 'start': req['start'], 'list': []} if limit > 0 and start < total: project_list = request.registry.project_mngr.get_project_list( req['start'], req['limit']) resp['list'] = project_list return resp
def get_device_list(request): req = get_params_from_request(request, get_devices_list_schema) start = req['start'] limit = req['limit'] total = request.registry.device_mngr.get_device_count( request.matchdict['project_name']) resp = {'total': total, 'start': req['start'], 'list': []} if limit > 0 and start < total: device_list = request.registry.device_mngr.get_device_list( request.matchdict['project_name'], req['start'], req['limit']) resp['list'] = device_list return resp
def get_user_access_key_list(request): username = request.matchdict['username'] params = get_params_from_request(request, get_access_key_list_schema) total, access_key_list = request.registry.access_key_mngr.get_key_list_in_pages( username=username, start_index=params['start'], max_number=params['limit'] ) resp = {'total': total, 'start': params['start'], 'list': access_key_list} return resp
def get_stream_list(request): req = get_params_from_request(request, get_cameras_list_schema) start = req['start'] limit = req['limit'] total = request.registry.stream_mngr.get_stream_count( request.matchdict['project_name'], request.matchdict['camera_id']) resp = {'total': total, 'start': req['start'], 'list': []} if limit > 0 and start < total: stream_list = request.registry.stream_mngr.get_stream_list( request.matchdict['project_name'], request.matchdict['camera_id'], req['start'], req['limit']) resp['list'] = stream_list return resp
def request_user_session(request): req = get_params_from_request(request, get_stream_schema) url, session_id = request.registry.user_session_mngr.request_session( request.matchdict['project_name'], request.matchdict['camera_id'], stream_format=req['format'], stream_quality=req['quality'], create=req['create'], ip=request.client_addr or '', user_agent=request.user_agent, username='', subuser=req['user'] ) return {'url': url, 'session_id': session_id}
def get_running_user_session_list(request): req = get_params_from_request(request, get_running_session_list_schema) start = req['start'] limit = req['limit'] total = request.registry.user_session_mngr.get_running_session_count( request.matchdict['project_name'], camera_id=request.matchdict['camera_id'] ) resp = {'total': total, 'start': req['start'], 'list': []} if limit > 0 and start < total: session_list = request.registry.user_session_mngr.get_running_session_list( request.matchdict['project_name'], camera_id=request.matchdict['camera_id'], start=req['start'], limit=req['limit'] ) resp['list'] = session_list return resp
def new_project(request): req = get_params_from_request(request, new_device_request_schema) request.registry.project_mngr.add_project( project_name=req.pop('project_name'), **req) return Response(status=200)
def post_user_password_reset(request): username = request.matchdict['username'] params = get_params_from_request(request, reset_user_password_schema) request.registry.user_mngr.reset_password(username, params['new_password']) return Response(status=200)
def post_user_list(request): params = get_params_from_request(request, new_user_schema) user = request.registry.user_mngr.add_user(**params) return user
def put_user(request): username = request.matchdict['username'] params = get_params_from_request(request, mod_user_schema) user = request.registry.user_mngr.mod_user(username, **params) return user
def new_camera(request): req = get_params_from_request(request, new_camera_request_schema) camera_id = request.registry.camera_mngr.add_camera(project_name=request.matchdict['project_name'], **req) return {'uuid': camera_id}
def get_user_session_log_list(request): req = get_params_from_request(request, get_session_log_list_schema) resp = {'list': []} resp['list'] = request.registry.user_session_log_mngr.get_session_log_list( request.matchdict['project_name'], **req) return resp
def put_access_key(request): key_id = request.matchdict['key_id'] params = get_params_from_request(request, mod_access_key_schema) user = request.registry.access_key_mngr.mod_access_key(key_id, **params) return user
def new_device(request): req = get_params_from_request(request, new_device_request_schema) device_id = request.registry.device_mngr.add_device( project_name=request.matchdict['project_name'], **req) return {'uuid': device_id}
def post_user_access_key_list(request): username = request.matchdict['username'] params = get_params_from_request(request, new_access_key_schema) params['username'] = username access_key = request.registry.access_key_mngr.new_access_key(**params) return access_key
def post_access_key_list(request): params = get_params_from_request(request, new_access_key_schema) if 'username' not in params: raise IVRError("username absent", 400) access_key = request.registry.access_key_mngr.new_access_key(**params) return access_key