iedb.mhc.delete() and iedb.tcell.delete() download the IEDB export before deleting it
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 85/100
Direzione di ricerca
Inizia con le funzioni delete() e local_path() in pepdata/iedb/mhc.py e pepdata/iedb/tcell.py, quindi confronta delete() in pepdata/iedb/alleles.py. Aggiungi un test per l’eliminazione quando il file non è nella cache, verificando che non venga effettuata alcuna richiesta di rete e che l’eliminazione non abbia effetto; esegui i test pertinenti. Il lavoro è completato quando tutte e tre le funzioni si comportano in modo coerente se i file non sono presenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
pepdata.iedb.mhc.delete() and pepdata.iedb.tcell.delete() download the IEDB export if it isn't cached, and then delete it:
# pepdata/iedb/mhc.py:35-49 (tcell.py:46-60 is the same)
def local_path(auto_download=True):
path = cache.local_path(...)
if not os.path.exists(path):
if auto_download:
return download()
...
def delete():
os.remove(local_path())
delete() calls local_path() with its default auto_download=True. On a machine without the cached file, a call meant to clean up therefore fetches the full MHC ligand or T-cell export from IEDB and then removes it.
iedb.alleles.delete() (alleles.py:32-38) behaves differently again. It skips the download but raises FileNotFoundError when the XML isn't cached. So the three delete() functions in one package don't agree on what a missing file means.
Evidence
Read at a5dffe3:
pepdata/iedb/mhc.py:35-49pepdata/iedb/tcell.py:46-60pepdata/iedb/alleles.py:32-38
Open PR #58 doesn't touch these functions.
Suggested fix
Have every delete() resolve the path with cache.local_path(...), which doesn't download, and remove the file inside contextlib.suppress(FileNotFoundError), so a missing file is a no-op in all three modules. Add a test that delete() with no cached file makes no network request.
- Lingua principale
- Python
- Stelle
- 58
- Fork
- 16
- Merge medio
- 2g 4h
- PR unite (30g)
- 7
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 openvax/pepdata
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 62/100
-
Difficoltà 4/5 1-2 giorni Idoneità per principianti 48/100
Tutte le issue di openvax/pepdata
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
SpikeInterface/spikeinterface#4924 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
aws-samples/sample-per-model-bedrock#782 ·
I maintainer di solito rispondono entro 1 giorno
-
bug javascript
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
No-op PreToolUse:Bash hook (bash_hook.py) still registered synchronously; adds latency and can time out at 10 sForse già presa @alexgr-agent l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
alexgreensh/token-optimizer#313 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100