示例#1
0
    def set_recorder_settings(
            cls, client,
            recorder_id,  # number id (without usual prefix 'm')
            recording_timelimit_in_minutes=360,      # 6h
            recording_sizelimit_in_kbytes=64000000,  # 64G
            output_format='avi',  # or mov, mp4, ts(mpeg-ts)
            user_prefix='',       # prefix for recording file
            afu_enabled='on',     # this means auto-upload disabled!
            upnp_enabled=''):

        #
        # 06jun16 naomi: upnp and afu(automatic file upload) have dependencies
        # that are not treated by this api call (these features must be
        # enabled for the device and configured in 'automatic file upload' and
        # 'UPnP' webui calls)
        # -- to be implemented in epipearl.endpoints.webui_config.
        #

        timelimit = '%d:%02d:00' % (
                recording_timelimit_in_minutes / 60,
                recording_timelimit_in_minutes % 60)

        check_success = [
                {
                    'emsg': 'timelimit expected(%s)' % timelimit,
                    'func': WebUiConfig.check_singlevalue_select(
                        value=timelimit)},
                {
                    'emsg': 'sizelimit expected(%s)' %
                            recording_sizelimit_in_kbytes,
                    'func': WebUiConfig.check_singlevalue_select(
                        value=str(recording_sizelimit_in_kbytes))},
                {
                    'emsg': 'output_format expected(%s)' % output_format,
                    'func': WebUiConfig.check_singlevalue_select(
                        value=output_format)},
                {
                    'emsg': 'user_prefix expected(%s)' % user_prefix,
                    'func': WebUiConfig.check_input_id_value(
                        tag_id='user_prefix', value=user_prefix)}]
        if afu_enabled == 'on':
            check_success.append(
                {
                    'emsg': 'auto file upload expected(OFF)',
                    'func': WebUiConfig.check_singlevalue_checkbox_disabled(
                                tag_id='afu_enabled')})
        else:
            check_success.append(
                {
                    'emsg': 'auto file upload expected(ON)',
                    'func': WebUiConfig.check_singlevalue_checkbox(
                                tag_id='afu_enabled')})
        if upnp_enabled == 'on':
            check_success.append(
                {
                    'emsg': 'share via UPnP expected(ON)',
                    'func': WebUiConfig.check_singlevalue_checkbox(
                                tag_id='upnp_enabled')})
        else:
            check_success.append(
                {
                    'emsg': 'share via UPnP expected(OFF)',
                    'func': WebUiConfig.check_singlevalue_checkbox_disabled(
                                tag_id='upnp_enabled')})
        params = {
                'pfd_form_id': 'rec_settings',
                'timelimit': timelimit,
                'sizelimit': recording_sizelimit_in_kbytes,
                'output_format': output_format,
                'user_prefix': user_prefix,
                'afu_enabled': afu_enabled,
                'upnp_enabled': upnp_enabled}
        path = '/admin/recorder%s/archive' % recorder_id


        assert upnp_enabled == ''

        return WebUiConfig.configuration(
                client=client,
                params=params,
                path=path,
                check_success=check_success)