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)