feat: init epub audit tool (distroless/python)
All checks were successful
🚀 Docker Build and Push / build-and-push (push) Successful in 58s
All checks were successful
🚀 Docker Build and Push / build-and-push (push) Successful in 58s
- Implemented 'audit_epubs.py' using standard libraries (zipfile, xml.etree) for high performance. - Created optimized Dockerfile based on 'gcr.io/distroless/python3-debian12' for minimal security attack surface. - Added strict metadata validation rules. - Included CI/CD workflow for Gitea Actions. - Added comprehensive README.md.
This commit is contained in:
47
README.md
Normal file
47
README.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# Outil d'Audit de Métadonnées EPUB
|
||||
|
||||
Cet outil analyse récursivement un répertoire de livres numériques (`.epub`) pour détecter les métadonnées manquantes ou mal formatées, selon des critères stricts.
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
* **Léger & Rapide** : Utilise uniquement la librairie standard Python (`zipfile`, `xml.etree`). Aucune dépendance externe.
|
||||
* **Conteneurisé** : Image Docker Alpine optimisée (Multi-stage build).
|
||||
* **Règles de Validation Strictes** :
|
||||
* **Titre** : Pas d'underscores, pas d'extensions, pas purement numérique.
|
||||
* **Auteur** : Pas de virgules (Format "Nom, Prénom" interdit), pas de "Calibre", pas vide.
|
||||
* **Identifiants** : Doit avoir un ISBN ou un URN valide (autre que Calibre UUID seul).
|
||||
* **Éditeur** : Pas d'URL, pas générique ("Unknown").
|
||||
* **Couverture** : Vérification de la présence dans le manifest et les métadonnées.
|
||||
|
||||
## Utilisation
|
||||
|
||||
### Avec Docker (Recommandé)
|
||||
|
||||
1. **Construire l'image** :
|
||||
```bash
|
||||
docker build -t epub-audit .
|
||||
```
|
||||
|
||||
2. **Lancer l'audit** (en montant votre dossier de livres dans `/books`) :
|
||||
```bash
|
||||
docker run --rm -v /mnt/user/media/books/ebooks:/books epub-audit
|
||||
```
|
||||
|
||||
### En local (Python 3)
|
||||
|
||||
```bash
|
||||
python3 audit_epubs.py /chemin/vers/vos/livres
|
||||
```
|
||||
|
||||
## Format de Sortie
|
||||
|
||||
Le script affiche une arborescence ASCII des erreurs :
|
||||
|
||||
```text
|
||||
📚 Audit Ebook Exhaustif
|
||||
📖 [Nom du fichier]
|
||||
🔗 [Chemin relatif]
|
||||
└ ❌ Erreur détectée...
|
||||
...
|
||||
✅ [X] Livres parfaits / [Y] Livres avec erreurs
|
||||
```
|
||||
Reference in New Issue
Block a user