openzim / openzim/python-scraperlib
Add a scraper check utility
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 31
- Fork
- 27
- Merge medio
- 3g 7h
- PR unite (30g)
- 2
Descrizione
Currently, we rely on various objects in scraperlib to:
- create the ZIM
- re-encode videos and images
- cache these assets on the optimization cache
We might consider to have a mechanism to perform sanity checks on scraper behavior:
- did we cached all re-encoded images / videos when a cache is present?
- did we removed temporary files from the filesystem as they are added to the ZIM? (we know that while we prefer in-memory/streaming approaches, there are still many scrapers which are using the temporary file approach, and even some situation which have to rely on it)
What I do not yet know:
- should we make the scraper fails if these checks fails?
- is there any chance we automate these checks? (i.e. no need to modify the scrapers, or as little as possible - at least not make a call to "check_i_m_ok" mandatory, because the scraper developers might forget about it as well ; I doubt about this because there are many kind of situations)
- can we do these checks early? (so that we fail the scraper asap instead of wasting time and resources)
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Non vengono indicati file, test o punti di ingresso. Inizia mappando gli oggetti di scraperlib che creano ZIMs, ricodificano gli asset e usano la cache di ottimizzazione, quindi esamina la gestione dei file temporanei. Il lavoro sarà considerato completato quando saranno definiti un meccanismo di controllo di coerenza automatizzato o invocato esplicitamente e il comportamento in caso di errore.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100