PORTING: Python → Node.js per agency-archivist scripts

Motivazione:
- Node.js già installato (v25.7.0), zero privilegi necessari
- Nessuna dipendenza npm richiesta (usa built-in modules)
- Tool di sistema per estrazione: unzip, tar, identify (ImageMagick)
- Più gestibile in ambienti senza sudo

Cambiamenti:
- extract_archive.py → extract_archive.js (11.6KB)
  - Usa execSync per unzip/tar/unrar
  - Stessa logica, zero dipendenze esterne

- scan_resources.py → scan_resources.js (13.4KB)
  - Usa ImageMagick identify per metadata immagini
  - ffprobe opzionale per video
  - Genera tag e use case automaticamente

- generate_catalog.py → generate_catalog.js (8.7KB)
  - Stesso output markdown
  - Zero dipendenze

- README.md aggiornato con comandi Node.js
- SKILL.md aggiornato con riferimenti corretti

Dipendenze opzionali (tool di sistema):
- unrar: Supporto archivi RAR
- ffmpeg/ffprobe: Metadata video avanzati
This commit is contained in:
AgentePotente 2026-03-10 23:44:14 +01:00
parent 45825704e0
commit 94642c3501
8 changed files with 1117 additions and 951 deletions

View file

@ -260,13 +260,13 @@ _Generato: {data} | Totale: {N} risorse_
## Script
### `scripts/extract_archive.py`
### `scripts/extract_archive.js`
**Input:** Path archivio o URL
**Output:** Risorse estratte in `assets/`
```bash
python scripts/extract_archive.py <path_or_url> --client <client_name>
node scripts/extract_archive.js <path_or_url> --client <client_name>
```
**Opzioni:**
@ -274,27 +274,27 @@ python scripts/extract_archive.py <path_or_url> --client <client_name>
- `--verbose`: Log dettagliato
- `--dry-run`: Simula senza estrazione
### `scripts/scan_resources.py`
### `scripts/scan_resources.js`
**Input:** Cartella `assets/`
**Output:** Metadata JSON temporaneo
**Output:** Metadata JSON in `assets/.metadata.json`
```bash
python scripts/scan_resources.py --client <client_name> --pass 1|2
node scripts/scan_resources.js --client <client_name> --pass 1|2
```
**Opzioni:**
- `--pass 1`: Solo metadata base (veloce)
- `--pass 2`: Analisi contenuto (richiede modello vision)
- `--output`: Path output JSON (default: temporaneo)
- `--pass 2`: Analisi avanzata (richiede ImageMagick/ffprobe)
- `--output`: Path output JSON (default: assets/.metadata.json)
### `scripts/generate_catalog.py`
### `scripts/generate_catalog.js`
**Input:** Metadata da scan
**Output:** `catalog.md` formattato
```bash
python scripts/generate_catalog.py --client <client_name>
node scripts/generate_catalog.js --client <client_name>
```
---