Example #1
0
File: camera.py Project: jamken/IVR
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)
Example #2
0
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
    )
Example #3
0
File: camera.py Project: jamken/IVR
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)
Example #4
0
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
    )
Example #5
0
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}
Example #6
0
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
Example #7
0
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)
Example #8
0
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)
Example #9
0
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)
Example #10
0
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
Example #11
0
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)
Example #12
0
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}
Example #13
0
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}
Example #14
0
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)
Example #15
0
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}
Example #16
0
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)
Example #17
0
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
Example #18
0
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
Example #19
0
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)
Example #20
0
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
Example #21
0
File: ptz.py Project: OpenSight/IVR
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)
Example #22
0
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}
Example #23
0
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)
Example #24
0
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}
Example #25
0
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)
Example #26
0
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)
Example #27
0
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
Example #28
0
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
Example #29
0
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
Example #30
0
File: stream.py Project: dulton/IVR
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}
Example #31
0
File: stream.py Project: dulton/IVR
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}
Example #32
0
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
Example #33
0
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
Example #34
0
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
Example #35
0
File: stream.py Project: dulton/IVR
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
Example #36
0
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}
Example #37
0
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
Example #38
0
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)
Example #39
0
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)
Example #40
0
def post_user_list(request):
    params = get_params_from_request(request, new_user_schema)
    user = request.registry.user_mngr.add_user(**params)
    return user
Example #41
0
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
Example #42
0
File: camera.py Project: dulton/IVR
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}
Example #43
0
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
Example #44
0
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
Example #45
0
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}
Example #46
0
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
Example #47
0
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