def set_from_options(self, options): self.camera.hflip = u.dotRead(options, 'hflip', False) self.camera.vflip = u.dotRead(options, 'vflip', False) # set supplementary options self.options = { "use_video_port": u.dotRead(options, 'use_video_port', False) }
def capture_image(self, resize=None, quality=None, use_video_port=None): stream = io.BytesIO() # If quality isn't specified, falls back to internal setting. if quality == None: quality = self.quality # If not explicitly defined, revert to default. if use_video_port == None: use_video_port = u.dotRead(self.options, 'use_video_port') self.camera.capture(stream, format='jpeg', resize=resize, quality=quality, use_video_port=use_video_port) stream.seek(0) try: im = Image.open(stream) buffer = im.load() im.close() stream.seek(0) except Exception as e: self.logger.error(type(e), e) return None return stream, buffer
def get(self, option=None, default=None): # a specific option was requested if option: return u.dotRead(self.configuration, option, default) # no option, return the whole configuration return self.configuration