Detect picamera in use error
This commit is contained in:
parent
cc1c5e77c3
commit
cc73aec257
1 changed files with 11 additions and 5 deletions
|
|
@ -13,13 +13,17 @@ picamera_errors = (
|
|||
"Camera is not enabled. Try running 'sudo raspi-config' and ensure that the camera has been enabled.",
|
||||
)
|
||||
|
||||
picamera_mmal_errors = {
|
||||
"Failed to enable connection: Out of resources": "Camera already in use by another application."
|
||||
}
|
||||
|
||||
|
||||
def main():
|
||||
error_sources = []
|
||||
logging.info("Attempting to import picamera...")
|
||||
|
||||
try:
|
||||
from picamerax import PiCamera
|
||||
import picamerax
|
||||
except Exception as e: # pylint: disable=W0703
|
||||
# TODO: Parse exception object for a few different issues, and append
|
||||
# different error sources E.g. pi with camera already in use,
|
||||
|
|
@ -27,12 +31,14 @@ def main():
|
|||
logging.error(e)
|
||||
error_sources.append(picamera_import_error)
|
||||
else:
|
||||
import picamerax.exc.PiCameraError
|
||||
|
||||
try:
|
||||
cam = PiCamera()
|
||||
except picamerax.exc.PiCameraError as e:
|
||||
cam = picamerax.PiCamera()
|
||||
except picamerax.PiCameraError as e:
|
||||
if e.args[0] in picamera_errors:
|
||||
error_sources.append(ErrorSource(e.args[0]))
|
||||
elif e.args[0] in picamera_mmal_errors:
|
||||
error_sources.append(ErrorSource(picamera_mmal_errors[e.args[0]]))
|
||||
else:
|
||||
error_sources.append(ErrorSource(e.args[0]))
|
||||
|
||||
return error_sources
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue