Fixed exception caused by applying invalid settings to picamera

This commit is contained in:
Joel Collins 2019-02-25 11:09:21 +00:00
parent 4b9aab0422
commit 951cfb6bb0

View file

@ -175,16 +175,17 @@ class StreamingCamera(BaseCamera):
# PiCamera parameters (applied directly to PiCamera object) # PiCamera parameters (applied directly to PiCamera object)
if 'picamera_settings' in config: # If new settings are given if 'picamera_settings' in config: # If new settings are given
for key, value in config['picamera_settings'].items(): # For each given setting for key, value in config['picamera_settings'].items(): # For each given setting
self.config['picamera_settings'][key] = None # Add the key to the list of returned settings if hasattr(self.camera, key):
logging.debug("Setting parameter {}: {}".format(key, config['picamera_settings'][key])) self.config['picamera_settings'][key] = None # Add the key to the list of returned settings
logging.debug("Setting parameter {}: {}".format(key, config['picamera_settings'][key]))
# Handle special attributes: # Handle special attributes:
if key == 'digital_gain': if key == 'digital_gain':
set_digital_gain(self.camera, value) set_digital_gain(self.camera, value)
elif key == 'analog_gain': elif key == 'analog_gain':
set_analog_gain(self.camera, value) set_analog_gain(self.camera, value)
else: else:
setattr(self.camera, key, value) # Write setting to camera setattr(self.camera, key, value) # Write setting to camera
# StreamingCamera parameters (applied via StreamingCamera config) # StreamingCamera parameters (applied via StreamingCamera config)
for key, value in config.items(): # For each provided setting for key, value in config.items(): # For each provided setting