list_names=['thread'],
no_convert=['@admin_username', '@admin_password', '@normal_username', '@normal_password'])
- _get_additional_config(main_config, camera=False)
+ _get_additional_config(main_config)
_set_default_motion(main_config, old_motion=is_old_motion())
_main_config_cache = main_config
_main_config_cache = main_config
main_config = dict(main_config)
- _set_additional_config(main_config, camera=False)
+ _set_additional_config(main_config)
config_file_path = os.path.join(settings.CONF_PATH, _MAIN_CONFIG_FILE_NAME)
if 'netcam_http' in camera_config:
camera_config['netcam_keepalive'] = camera_config.pop('netcam_http') in ['1.1', 'keepalive']
+ _get_additional_config(camera_config, camera_id=camera_id)
_set_default_motion_camera(camera_id, camera_config)
elif utils.remote_camera(camera_config):
camera_config['@id'] = camera_id
_camera_config_cache[camera_id] = camera_config
+
camera_config = dict(camera_config)
if utils.local_motion_camera(camera_config):
main_config['thread'] = threads
set_main(main_config)
+
+ _set_additional_config(camera_config, camera_id=camera_id)
# read the actual configuration from file
config_file_path = os.path.join(settings.CONF_PATH, _CAMERA_CONFIG_FILE_NAME) % {'id': camera_id}
return _additional_structure_cache[(camera, separators)]
-def _get_additional_config(data, camera):
- (sections, configs) = get_additional_structure(camera)
+def _get_additional_config(data, camera_id=None):
+ args = [camera_id] if camera_id else []
+
+ (sections, configs) = get_additional_structure(camera=bool(camera_id))
get_funcs = set([c.get('get') for c in configs.itervalues() if c.get('get')])
- get_func_values = dict((f, f()) for f in get_funcs)
+ get_func_values = dict((f, f(*args)) for f in get_funcs)
for name, section in sections.iteritems():
if not section.get('get'):
data['@_' + name] = get_func_values.get(config['get'])
-def _set_additional_config(data, camera):
- (sections, configs) = get_additional_structure(camera)
+def _set_additional_config(data, camera_id=None):
+ args = [camera_id] if camera_id else []
+
+ (sections, configs) = get_additional_structure(camera=bool(camera_id))
set_func_values = {}
for name, section in sections.iteritems():
set_func_values[config['set']] = data['@_' + name]
for func, value in set_func_values.iteritems():
- func(value)
+ func(*(args + [value]))