From dd6eaca6d0ff64d8c1eadd53b68f55b5b83d6dc9 Mon Sep 17 00:00:00 2001
From: eliott <eliott.sammier@tetras-libre.fr>
Date: Fri, 31 May 2024 18:30:22 +0200
Subject: [PATCH] CLI: version option + fix env var issues

- All env var paths are now absolute
- New INDEXES_DIR, auto-created
- PATH export seems to work now (may still fail depending on the shell)
---
 mcli | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/mcli b/mcli
index f6a2565a..c926d191 100755
--- a/mcli
+++ b/mcli
@@ -1,9 +1,12 @@
 #!/usr/bin/env bash
 
-export MACAO_ROOT="${MACAO_ROOT:-$(dirname "$0")}"
-export SOURCES_DIR="$MACAO_ROOT/Basilisk/MACAO/macao_12"
-export SCRIPTS_DIR="$MACAO_ROOT/tetras_extraction/macao_12/script"
-export RESULTS_DIR="$MACAO_ROOT/tetras_extraction/macao_12/result"
+export VERSION="${VERSION:-macao_12}" # macao_12 by default
+export MACAO_ROOT="${MACAO_ROOT:-$(dirname "$(realpath "$0")")}"
+export SOURCES_DIR="$MACAO_ROOT/Basilisk/MACAO/$VERSION"
+export SCRIPTS_DIR="$MACAO_ROOT/tetras_extraction/$VERSION/script"
+export RESULTS_DIR="$MACAO_ROOT/tetras_extraction/$VERSION/result"
+export INDEXES_DIR="$RESULTS_DIR/indexes"
+mkdir -p "$INDEXES_DIR"
 
 print_usage() {
     cat <<EOF
@@ -60,7 +63,7 @@ count_streams() {
         echo "$(list_streams "$file" | wc -l) $(basename "$file")"
     else
         echo "Indexing streams from all SWFs (this may take some time) ..." >&2
-        out_file="$RESULTS_DIR/indexes/swf_streams_count.txt"
+        out_file="$INDEXES_DIR/swf_streams_count.txt"
         for file in "$SOURCES_DIR/contenu/media/"*.swf; do
             echo "$(list_streams "$file" | wc -l) $(basename "$file")"
         done | sort -rn >"$out_file"
@@ -69,7 +72,7 @@ count_streams() {
 }
 
 index_extensions() {
-    out_file="$RESULTS_DIR/indexes/index_per_extension.txt"
+    out_file="$INDEXES_DIR/index_per_extension.txt"
     echo -n "" >"$out_file" # Clear out file
     # Index all files, with a cd trick to get relative paths
     cd "$SOURCES_DIR" || exit
@@ -86,10 +89,10 @@ index_extensions() {
 }
 
 count_all() {
-    index="$RESULTS_DIR/indexes/index_per_extension.txt"
-    swf_index="$RESULTS_DIR/indexes/swf_streams_count.txt"
+    index="$INDEXES_DIR/index_per_extension.txt"
+    swf_index="$INDEXES_DIR/swf_streams_count.txt"
     content_dir="$SOURCES_DIR/contenu"
-    out_file="$RESULTS_DIR/indexes/count-all.txt"
+    out_file="$INDEXES_DIR/count-all.txt"
 
     if [[ ! -f "$index" ]]; then
         echo "$index not found, use --force or run index-extensions before"
@@ -197,13 +200,13 @@ extract-mp3)
     done
     ;;
 shell)
-    export PATH="$PATH:$MACAO_ROOT"
     if [[ "$1" = "-p" || "$1" = "--pyenv" ]]; then
         if ! source "$SCRIPTS_DIR/venv/bin/activate"; then
             echo "Python venv not found, did you run setup first?" >&2
             exit 1
         fi
     fi
+    export PATH="$PATH:$MACAO_ROOT"
     cd "$MACAO_ROOT"
     $SHELL
     ;;
-- 
GitLab