From c229ed59fa5c0e2748d7057457be7f2b7daa5ebe Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Tue, 5 May 2020 18:40:10 +0000 Subject: [PATCH] merged make_dir and make_missing_dir --- slic/core/acquisition/pedestals.py | 12 +----------- slic/core/scanner/scanbackend.py | 6 +++--- slic/utils/__init__.py | 2 +- slic/utils/fs_tools.py | 10 ++++++---- 4 files changed, 11 insertions(+), 19 deletions(-) diff --git a/slic/core/acquisition/pedestals.py b/slic/core/acquisition/pedestals.py index 6c15083e..d95bd4e0 100644 --- a/slic/core/acquisition/pedestals.py +++ b/slic/core/acquisition/pedestals.py @@ -4,6 +4,7 @@ from datetime import datetime from collections import defaultdict from jungfrau_utils.scripts.jungfrau_run_pedestals import run as ju_record_raw_pedestal +from slic.utils import make_missing_dir TIMESTAMP_FORMAT = "%Y%m%d_%H%M" @@ -78,17 +79,6 @@ def take_pedestal(instrument, pgroup, api_address, raw_dir, res_dir, analyze_loc return res_file_base -def make_missing_dir(d): - if os.path.exists(d): - return - - msg = "Directory \"{}\" does not exist, creating it...".format(d) - print(msg) - - os.makedirs(d, exist_ok=True) - os.chmod(d, 0o775) - - def analyze_pedestal_on_cluster(instrument, raw_file_base, res_dir, user=None): pedestals_taken = raw_file_base + "*" pedestals_taken = glob(pedestals_taken) diff --git a/slic/core/scanner/scanbackend.py b/slic/core/scanner/scanbackend.py index bf448ca0..c9d1c6d0 100644 --- a/slic/core/scanner/scanbackend.py +++ b/slic/core/scanner/scanbackend.py @@ -1,7 +1,7 @@ import os import colorama -from slic.utils import json_dump, make_dir +from slic.utils import json_dump, make_missing_dir from slic.utils.printing import printable_dict from slic.utils.ask_yes_no import ask_Yes_no @@ -65,14 +65,14 @@ class ScanBackend: def create_output_dirs(self): - make_dir(self.scan_info.base_dir) + make_missing_dir(self.scan_info.base_dir) for acq in self.acquisitions: default_dir = acq.default_dir if default_dir is None: continue data_dir = default_dir + self.data_base_dir - make_dir(data_dir) + make_missing_dir(data_dir) def get_filename(self, istep): diff --git a/slic/utils/__init__.py b/slic/utils/__init__.py index 78100329..1dbfdecf 100644 --- a/slic/utils/__init__.py +++ b/slic/utils/__init__.py @@ -3,7 +3,7 @@ from .utils import * from .channels import Channels from .config import Config from .elog import Elog -from .fs_tools import can_create_file, glob_files, make_dir +from .fs_tools import can_create_file, glob_files, make_missing_dir from .ipy_tools import devices from .json_tools import json_dump from .npy_tools import fraction_to_percentage, within, within_fraction, get_dtype, get_shape, is_array diff --git a/slic/utils/fs_tools.py b/slic/utils/fs_tools.py index 3bc6ac18..14b84ba2 100644 --- a/slic/utils/fs_tools.py +++ b/slic/utils/fs_tools.py @@ -17,14 +17,16 @@ def can_create_file(filename): return False -def make_dir(p): +def make_missing_dir(p): p = Path(p) if p.exists(): return + printable = p.absolute().as_posix() - print(f"Path \"{printable}\" does not exist, will try to create it...") - p.mkdir(parents=True) - p.chmod(0o775) + msg = "Directory \"{}\" does not exist, creating it...".format(printable) + print(msg) + + p.mkdir(mode=0o775, parents=True, exist_ok=True) def glob_files(folder, pattern):