Preserve version ordering in packagedb VersionResponse
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 85/100
Direzione di ricerca
Inizia in packagedb/package_managers.py, in VersionAPI.get_until(), e verifica come vengono costruiti VersionResponse.valid_versions e newer_versions a partire da fetch(). Poi esamina packagedb/tests/test_package_managers.py e aggiungi o aggiorna la copertura per preservare l’ordine di fetch rimuovendo i duplicati; il lavoro è completo quando gli elenchi della risposta mantengono l’ordine della prima occorrenza e i test passano.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
While looking at packagedb/package_managers.py, I noticed that VersionAPI.get_until() builds VersionResponse.valid_versions and newer_versions using sets.
That means duplicates are removed, but the original version order from fetch() is also lost.
There is already a related note in the file:
# FIXME: DO NOT use set() for storing version lists: they lose the original ordering
I think this should preserve fetch order while still deduplicating values.
A possible fix would be:
- change
valid_versionsandnewer_versionsto ordered lists - keep a small
seenset internally inget_until()for deduplication - add/update tests in
packagedb/tests/test_package_managers.py
- Lingua principale
- HTML
- Stelle
- 70
- Fork
- 74
- Merge medio
- 2g 4h
- PR unite (30g)
- 7
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
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.
Altre issue di aboutcode-org/purldb
-
purlcli failsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
aboutcode-org/purldb#891 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Incorrect set comparison between package names and PURLs in NPM sync logicForse già presa @MuhammadBilal64 l’ha presa 25 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
aboutcode-org/purldb#890 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
PypiVersionAPI.get_latest_date() crashes when a release entry is missing upload_time_iso_8601Forse già presa @drawliin l’ha presa 208 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
aboutcode-org/purldb#863 ·
I maintainer di solito rispondono entro 1 giorno
-
Add doctest and tests for clearcode coordinate helpersForse già presa @drawliin l’ha presa 216 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
aboutcode-org/purldb#861 ·
I maintainer di solito rispondono entro 1 giorno
-
NameError: 'e' referenced outside except block in visit_uri() when visit_error is setForse già presa @mohityadav8 l’ha presa 223 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
aboutcode-org/purldb#851 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di aboutcode-org/purldb
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
memory_patch_page drops the `#` of headings like `## Notes on C#`Forse già presa @viniciusdsandrade l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
akitaonrails/ai-memory#1859 ·
I maintainer di solito rispondono entro 1 giorno
-
ds-bot collides with dsh-argp: tool "recall" is already registered, Bot layer never activatesApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Fei2411/DeepSeek-Bot#703 ·
-
first-timers-only good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 94/100
career-ops-hq/career-ops#6260 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
be-BOP-io-SA/be-BOP#2817 ·
I maintainer di solito rispondono entro 5 giorni