From bab81f5461bb4c3db27b6e527fb7ab55c5058f3c Mon Sep 17 00:00:00 2001 From: Bryan Roessler Date: Wed, 31 Jul 2024 16:56:09 -0400 Subject: [PATCH] Fix EASY_RESULTS_DIR --- workflow/qhtcp-workflow | 52 ++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/workflow/qhtcp-workflow b/workflow/qhtcp-workflow index bc3fe5a8..502575e2 100755 --- a/workflow/qhtcp-workflow +++ b/workflow/qhtcp-workflow @@ -407,7 +407,7 @@ init_project() { # We handle this in main() and pushd to it # But do it one more time in case this is run as a module - ask "Initialize a project at $PROJECT_SCANS_DIR?" || return 1 + ask "(Re)-Initialize a project at $PROJECT_SCANS_DIR?" || return 1 [[ -d $PROJECT_SCANS_DIR ]] || (mkdir -p "$PROJECT_SCANS_DIR" || return 1) @@ -596,6 +596,11 @@ easy() { DRUG_MEDIA_FILE="$EASY_RESULTS_DIR/DrugMedia_$PROJECT.xls" MASTER_PLATE_FILE="$EASY_RESULTS_DIR/MasterPlate_$PROJECT.xls" + if ((DEBUG)); then + declare -p EASY + fi + + # Make EASY dirs debug "mkdir -p $EASY_RESULTS_DIR" mkdir -p "$EASY_RESULTS_DIR" @@ -1389,38 +1394,27 @@ submodule choose_easy_results_dir # choose_easy_results_dir() { debug "Running: ${FUNCNAME[0]}" - declare -g EASY_RESULTS_DIR EASY_OUT_DIR - - EASY_OUT_DIR="$QHTCP_PROJECT_DIR/easy" - - # Don't override env - if [[ -n $EASY_RESULTS_DIR && ! -d $EASY_RESULTS_DIR ]]; then - mkdir -p "$EASY_RESULTS_DIR" - return 0 - fi - - local default_easy_results_dir="$EASY_OUT_DIR/$PROJECT" - - if [[ -n $PROJECT ]]; then - if [[ ! -d $default_easy_results_dir ]]; then - EASY_RESULTS_DIR="$default_easy_results_dir" - mkdir -p "$EASY_RESULTS_DIR" - return 0 - fi - fi + declare -g EASY_RESULTS_DIR="$QHTCP_PROJECT_DIR/easy" # Always backup existing output # This would happen if you ran the same experiment twice in one day, for instance - if [[ -d $default_easy_results_dir ]] ; then - backup_dir="$default_easy_results_dir" - while [[ -d $default_easy_results_dir ]]; do - count=1 + if [[ -d $EASY_RESULTS_DIR ]] ; then + backup_dir="$EASY_RESULTS_DIR" + count=1 + while [[ -d $backup_dir ]]; do backup_dir="$backup_dir.$((count++))" done - echo "Backing up existing output from $default_easy_results_dir to $backup_dir" - debug "rsync -a $default_easy_results_dir $backup_dir" - rsync -a "$default_easy_results_dir" "$backup_dir" && - EASY_RESULTS_DIR="$default_easy_results_dir" + echo "Backing up existing output from $EASY_RESULTS_DIR to $backup_dir" + debug "rsync -a $EASY_RESULTS_DIR $backup_dir" + rsync -a "$EASY_RESULTS_DIR" "$backup_dir" || return 1 + fi + + if [[ ! -d $EASY_RESULTS_DIR ]]; then + debug "mkdir $EASY_RESULTS_DIR" + mkdir "$EASY_RESULTS_DIR" + else + err "Could not create $EASY_RESULTS_DIR" + return 0 fi # echo "Hit enter to use the default EASY results directory: $default_easy_results_dir" @@ -1598,7 +1592,7 @@ main() { # Run selected modules for m in "${MODULES[@]}"; do - ask "Run $m?" && "$m" + ask "Run $m module?" && "$m" done done }