def settings_camera(): """ Display camera settings """ if not utils_general.user_has_permission('view_settings'): return redirect(url_for('general_routes.home')) form_camera = forms_settings.SettingsCamera() camera = Camera.query.all() output = Output.query.all() try: opencv_devices = count_cameras_opencv() except Exception: opencv_devices = 0 pi_camera_enabled = False try: if 'start_x=1' in open('/boot/config.txt').read(): pi_camera_enabled = True except IOError as e: logger.error("Camera IOError raised in '/settings/camera' endpoint: " "{err}".format(err=e)) if request.method == 'POST': if not utils_general.user_has_permission('edit_settings'): return redirect(url_for('general_routes.home')) if form_camera.camera_add.data: utils_settings.camera_add(form_camera) elif form_camera.camera_mod.data: utils_settings.camera_mod(form_camera) elif form_camera.camera_del.data: utils_settings.camera_del(form_camera) return redirect(url_for('settings_routes.settings_camera')) return render_template('settings/camera.html', camera=camera, camera_libraries=CAMERA_LIBRARIES, form_camera=form_camera, opencv_devices=opencv_devices, pi_camera_enabled=pi_camera_enabled, relay=output)
def settings_camera(): """ Display camera settings """ if not utils_general.user_has_permission('view_settings'): return redirect(url_for('routes_general.home')) form_camera = forms_settings.SettingsCamera() camera = Camera.query.all() output = Output.query.all() pi_camera_enabled = False try: if 'start_x=1' in open('/boot/config.txt').read(): pi_camera_enabled = True except IOError as e: logger.error("Camera IOError raised in '/settings/camera' endpoint: " "{err}".format(err=e)) if request.method == 'POST': if not utils_general.user_has_permission('edit_settings'): return redirect(url_for('routes_general.home')) if form_camera.camera_add.data: utils_settings.camera_add(form_camera) elif form_camera.camera_mod.data: utils_settings.camera_mod(form_camera) elif form_camera.camera_del.data: utils_settings.camera_del(form_camera) return redirect(url_for('routes_settings.settings_camera')) return render_template('settings/camera.html', camera=camera, camera_libraries=CAMERA_LIBRARIES, form_camera=form_camera, pi_camera_enabled=pi_camera_enabled, output=output)