From 52da3610a7d95aa4a1c2e6712491c50dc85ef749 Mon Sep 17 00:00:00 2001 From: Karl-Hermann Wieners <karl-hermann.wieners@mpimet.mpg.de> Date: Tue, 15 Dec 2020 12:25:50 +0100 Subject: [PATCH] Global: changed directory creation to only create parts w/o native variables --- CHANGES.txt | 8 ++++++++ mkexp | 23 +++++++++++++++++------ 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 5db79f2..90d25f6 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -6,6 +6,14 @@ Make Experiments! Release Changes --------------- +Release 1.0.10 +============== + +Global +------ + +* Changed directory creation to only create parts w/o native variables + Release 1.0.9 ============= diff --git a/mkexp b/mkexp index 8e757fd..05acf69 100755 --- a/mkexp +++ b/mkexp @@ -378,6 +378,9 @@ except ExpConfigError as error: # Create target directories +def cut_dir_variable(directory): + return re.sub(os.sep + r'[^' + os.sep + r'$]*\$\{\w+\}.*$', '', directory) + # Create directory for scripts if it doesn't exist script_dir = config['SCRIPT_DIR'] print "Script directory: '"+script_dir+"'" @@ -392,20 +395,28 @@ else: # Create directory for output data if it doesn't exist data_dir = config['DATA_DIR'] -print "Data directory: '"+data_dir+"'"+(" (not created)" if not args.make_dirs else "") +data_cut = cut_dir_variable(data_dir) +print "Data directory: '"+data_dir+"'"+( + " (not created)" if not args.make_dirs else "") if args.make_dirs: - if not os.path.isdir(data_dir): - os.makedirs(data_dir) + if data_dir != data_cut: + feedback.warning("only considering non-variable part of directory") + if not os.path.isdir(data_cut): + os.makedirs(data_cut) elif not script_dir.startswith(data_dir): feedback.warning("data directory already exists") # Create directory for running the experiment if it doesn't exist work_dir = config['WORK_DIR'] +work_cut = cut_dir_variable(work_dir) if work_dir != data_dir: - print "Work directory: '"+work_dir+"'"+(" (not created)" if not args.make_dirs else "") + print "Work directory: '"+work_dir+"'"+( + " (not created)" if not args.make_dirs else "") if args.make_dirs: - if not os.path.isdir(work_dir): - os.makedirs(work_dir) + if work_dir != work_cut: + feedback.warning("only considering non-variable part of directory") + if not os.path.isdir(work_cut): + os.makedirs(work_cut) else: feedback.warning("work directory already exists") -- GitLab