76 lines
2.3 KiB
Bash
Executable File
76 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script pour traiter tous les fichiers uploadés et générer les caches
|
|
# Usage: ./scripts/process-uploaded-files.sh
|
|
|
|
set -e
|
|
|
|
FOLDER_HASH="7d99a85daf66a0081a0e881630e6b39b"
|
|
UPLOADS_DIR="/home/debian/4NK_IA_front/uploads/$FOLDER_HASH"
|
|
CACHE_DIR="/home/debian/4NK_IA_front/backend/cache/$FOLDER_HASH"
|
|
API_URL="https://ia.4nkweb.com/api/extract"
|
|
|
|
echo "🔄 Traitement des fichiers uploadés dans le dossier $FOLDER_HASH"
|
|
echo "📁 Dossier uploads: $UPLOADS_DIR"
|
|
echo "💾 Dossier cache: $CACHE_DIR"
|
|
|
|
# Créer le dossier cache s'il n'existe pas
|
|
mkdir -p "$CACHE_DIR"
|
|
|
|
# Compter les fichiers à traiter
|
|
TOTAL_FILES=$(ls -1 "$UPLOADS_DIR" | wc -l)
|
|
echo "📊 Nombre de fichiers à traiter: $TOTAL_FILES"
|
|
|
|
# Traiter chaque fichier
|
|
PROCESSED=0
|
|
FAILED=0
|
|
|
|
for file in "$UPLOADS_DIR"/*; do
|
|
if [ -f "$file" ]; then
|
|
filename=$(basename "$file")
|
|
filehash=$(basename "$file" | sed 's/\.[^.]*$//')
|
|
cache_file="$CACHE_DIR/${filehash}.json"
|
|
|
|
echo ""
|
|
echo "📄 Traitement de: $filename"
|
|
echo "🔑 Hash: $filehash"
|
|
|
|
# Vérifier si le cache existe déjà
|
|
if [ -f "$cache_file" ]; then
|
|
echo "✅ Cache déjà existant, ignoré"
|
|
continue
|
|
fi
|
|
|
|
# Traiter le fichier via l'API
|
|
echo "🚀 Envoi vers l'API..."
|
|
response=$(curl -s -X POST \
|
|
-F "document=@$file" \
|
|
-F "folderHash=$FOLDER_HASH" \
|
|
"$API_URL")
|
|
|
|
# Vérifier si la réponse contient une erreur
|
|
if echo "$response" | grep -q '"error"'; then
|
|
echo "❌ Erreur lors du traitement:"
|
|
echo "$response" | jq -r '.error' 2>/dev/null || echo "$response"
|
|
FAILED=$((FAILED + 1))
|
|
else
|
|
# Sauvegarder le résultat dans le cache
|
|
echo "$response" > "$cache_file"
|
|
echo "✅ Traitement réussi, cache sauvegardé"
|
|
PROCESSED=$((PROCESSED + 1))
|
|
fi
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "📊 Résumé du traitement:"
|
|
echo "✅ Fichiers traités avec succès: $PROCESSED"
|
|
echo "❌ Fichiers en erreur: $FAILED"
|
|
echo "📁 Total: $TOTAL_FILES"
|
|
|
|
if [ $PROCESSED -gt 0 ]; then
|
|
echo ""
|
|
echo "🎉 Traitement terminé ! Vous pouvez maintenant tester l'API:"
|
|
echo "curl -s 'https://ia.4nkweb.com/api/folders/$FOLDER_HASH/results' | jq ."
|
|
fi
|