From 2fe7722da671e4b89ddd28559090e4f9a436c91d Mon Sep 17 00:00:00 2001 From: Joel Collins Date: Wed, 6 Mar 2019 17:04:04 +0000 Subject: [PATCH] Added subdirectory support for captures --- openflexure_microscope/camera/base.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/openflexure_microscope/camera/base.py b/openflexure_microscope/camera/base.py index 949d536d..fcce1a32 100644 --- a/openflexure_microscope/camera/base.py +++ b/openflexure_microscope/camera/base.py @@ -252,7 +252,7 @@ class BaseCamera(object): capture_list = [] for capture_dict in capture_dict_list: - if os.path.isfile(capture_dict['path']): + if 'path' in capture_dict and os.path.isfile(capture_dict['path']): capture_list.append(capture_from_dict(capture_dict)) return capture_list @@ -283,6 +283,7 @@ class BaseCamera(object): write_to_file: bool = False, temporary: bool = True, filename: str = None, + folder: str = None, fmt: str = 'jpeg'): """ @@ -300,12 +301,18 @@ class BaseCamera(object): filename = generate_numbered_basename(self.images) logging.debug(filename) + # Generate folder + if folder: + folder = os.path.join(self.paths['image'], folder) + else: + folder = self.paths['image'] + # Create capture object output = CaptureObject( write_to_file=write_to_file, temporary=temporary, filename=filename, - folder=self.paths['image'], + folder=folder, fmt=fmt) # Update capture list @@ -322,6 +329,7 @@ class BaseCamera(object): write_to_file: bool = True, temporary: bool = False, filename: str = None, + folder: str = None, fmt: str = 'h264'): """ @@ -339,12 +347,18 @@ class BaseCamera(object): filename = generate_numbered_basename(self.videos) logging.debug(filename) + # Generate folder + if folder: + folder = os.path.join(self.paths['video'], folder) + else: + folder = self.paths['video'] + # Create capture object output = CaptureObject( write_to_file=write_to_file, temporary=temporary, filename=filename, - folder=self.paths['video'], + folder=folder, fmt=fmt) # Update capture list