adapter.aasx: Missing supplementary file aborts reading with failsafe
I maintainer di solito rispondono entro 4 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
Direzione di ricerca
Inizia da _add_supplementary_file() e dalla chiamata a open_part() in sdk/basyx/aas/adapter/aasx.py alle righe collegate. Controlla come i percorsi di lettura esistenti gestiscono le parti mancanti del pacchetto e come viene testata la modalità failsafe. Il lavoro è concluso quando una parte supplementare mancante viene registrata e ignorata con failsafe=True, mentre failsafe=False genera un errore chiaro.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
AASXReader.read_into() raises KeyError when a File element
or the default thumbnail points to a part that is not in the package,
even with failsafe=True:
The object is already in the object_store at that point, so the
read stops half-way.
Steps to reproduce:
sm = model.Submodel("urn:sm:1", submodel_element=[
model.File("f", "application/pdf", "/aasx/missing.pdf")])
# the writer only logs a warning and writes the package
with aasx.AASXWriter("x.aasx", failsafe=True) as w:
w.write_all_aas_objects(
"/aasx/data.json", model.DictIdentifiableStore([sm]),
aasx.DictSupplementaryFileContainer())
with aasx.AASXReader("x.aasx", failsafe=True) as r:
r.read_into(model.DictIdentifiableStore(),
aasx.DictSupplementaryFileContainer())
# KeyError: 'Could not find part /aasx/missing.pdf in package'
The repository server calls load_directory() at import, so one such
file in INPUT stops the container from starting.
Expected behavior: With failsafe=True, the missing part is
logged and skipped, like other defects. With failsafe=False, a clear
error is raised.
Actual behavior: KeyError in both modes; the objects read so far
stay in the store.
Environment: develop @ 2773ac06.
Possible fix: Catch KeyError around open_part() in
_add_supplementary_file(): log and return None if failsafe,
otherwise re-raise. Our own writer produces such packages in failsafe
mode (see #228), so the reader should accept them.
- Lingua principale
- Python
- Stelle
- 106
- Fork
- 59
- Merge medio
- 4g 1h
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la 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 eclipse-basyx/basyx-python-sdk
-
server: XML responses contain `cursor="None"` on the last pageForse già presa @qiaobochi040726-source l’ha presa 2 giorni fa. Apertabug good-first-issue server
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
eclipse-basyx/basyx-python-sdk#673 ·
I maintainer di solito rispondono entro 4 giorni
-
adapter.aasx: Failsafe writer adds duplicate parts for conflicting filesForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug good-first-issue sdk
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
eclipse-basyx/basyx-python-sdk#671 ·
I maintainer di solito rispondono entro 4 giorni
-
enhancement good-first-issue server
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
eclipse-basyx/basyx-python-sdk#670 ·
I maintainer di solito rispondono entro 4 giorni
-
bug server
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
eclipse-basyx/basyx-python-sdk#663 ·
I maintainer di solito rispondono entro 4 giorni
-
README CI badge is brokenForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
eclipse-basyx/basyx-python-sdk#656 ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di eclipse-basyx/basyx-python-sdk
Issue simili
-
The changelog workflow excludes otelbot but not dependabot, so every Dependabot pull request fails the changelog checkForse già presa @ocelotl l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
open-telemetry/opentelemetry-python#5825 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
cuga-project/cuga-agent#1020 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
microsoft/playwright#43640 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
stac-utils/stac-fastapi-elasticsearch-opensearch#965 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno