From 48ea6d411ed8517334be9ab3b03b67e356f2fcc6 Mon Sep 17 00:00:00 2001
From: eliott <eliott.sammier@tetras-libre.fr>
Date: Fri, 5 Jul 2024 14:42:37 +0200
Subject: [PATCH] Fix extract-mp3 for new file hierarchy

---
 mcli                                    | 4 ++--
 tetras_extraction/script/extract_mp3.sh | 7 +++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/mcli b/mcli
index c062eecf..41020a5b 100755
--- a/mcli
+++ b/mcli
@@ -46,7 +46,7 @@ setup
     Initialize Python environment required by extractors
 extract-rdf
     Run the extractor to generate RDF from text sources
-extract-mp3
+extract-mp3 [-y|--yes-overwrite]
     Extract audio streams from all Flash SWF files
 convert
     Run the full conversion process (extract -> transform -> export)
@@ -227,7 +227,7 @@ extract-rdf)
     ;;
 extract-mp3)
     for audio_file in "$SOURCES_DIR/contenu/media/"*.swf; do
-        "$SCRIPTS_DIR/extract_mp3.sh" --output-dir "$RESULTS_DIR/audio" "$audio_file"
+        "$SCRIPTS_DIR/extract_mp3.sh" "$@" --output-dir "$RESULTS_DIR/audio" "$audio_file"
     done
     ;;
 shell)
diff --git a/tetras_extraction/script/extract_mp3.sh b/tetras_extraction/script/extract_mp3.sh
index 88301161..fdf33153 100755
--- a/tetras_extraction/script/extract_mp3.sh
+++ b/tetras_extraction/script/extract_mp3.sh
@@ -10,6 +10,9 @@ while [ -n "$1" ]; do
 		shift
 		output_dir="$1"
 		;;
+	"-y" | "--yes-overwrite")
+		overwrite="-y"
+		;;
 	*)
 		input_file="$1"
 		;;
@@ -18,7 +21,7 @@ while [ -n "$1" ]; do
 done
 
 if [ -z "$input_file" ]; then
-	echo "Usage: $0 [-o|--output-dir <dir>] <file>"
+	echo "Usage: $0 [-y|--yes-overwrite] [-o|--output-dir <dir>] <file>"
 	exit 1
 fi
 
@@ -30,7 +33,7 @@ streams="$(ffprobe -show_streams $input_file -of json 2>/dev/null | jq -r '.stre
 echo "$input_file: found $(wc -l <<<$streams) MP3 streams: $streams"
 
 # Assemble ffmpeg command line by adding '-map' argument and outfile for each stream
-cmd="ffmpeg -i $input_file -vn -c:a copy"
+cmd="ffmpeg $overwrite -i $input_file -vn -c:a copy"
 i=0
 while read -r stream_id; do
 	cmd="$cmd -map 0:$stream_id $output_dir/$(basename "$input_file").$i.mp3"
-- 
GitLab