adapter.aasx: Missing supplementary file aborts reading with failsafe
Los mantenedores suelen responder en 4 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
Línea de trabajo
Empieza por _add_supplementary_file() y la llamada a open_part() en sdk/basyx/aas/adapter/aasx.py en las líneas enlazadas. Comprueba cómo gestionan las rutas de lectura existentes las partes que faltan del paquete y cómo se prueba el modo failsafe. El trabajo está hecho cuando una parte suplementaria que falta se registra y se omite con failsafe=True, mientras que failsafe=False genera un error claro.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 106
- Forks
- 59
- Merge medio
- 4 d 1 h
- PR fusionados (30 d)
- 3
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de eclipse-basyx/basyx-python-sdk
-
server: XML responses contain `cursor="None"` on the last pagePosiblemente ocupada @qiaobochi040726-source la tomó hace 3 días. Abiertobug good-first-issue server
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
eclipse-basyx/basyx-python-sdk#673 ·
Los mantenedores suelen responder en 4 días
-
adapter.aasx: Failsafe writer adds duplicate parts for conflicting filesPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug good-first-issue sdk
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
eclipse-basyx/basyx-python-sdk#671 ·
Los mantenedores suelen responder en 4 días
-
enhancement good-first-issue server
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
eclipse-basyx/basyx-python-sdk#670 ·
Los mantenedores suelen responder en 4 días
-
bug server
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
eclipse-basyx/basyx-python-sdk#663 ·
Los mantenedores suelen responder en 4 días
-
README CI badge is brokenPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
eclipse-basyx/basyx-python-sdk#656 ·
Los mantenedores suelen responder en 4 días
Todos los issues de eclipse-basyx/basyx-python-sdk
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
UKGovernmentBEIS/optstop#10 ·
-
maintenance
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
pollen-robotics/reachy_mini#1508 ·
Los mantenedores suelen responder en 1 día
-
[BUG] `cloud-keys.env` values retain enclosing quotes causing 401 Unauthorized, and missing utf-8 encoding crashes on WindowsPosiblemente ocupada @divyanshu07-code la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
open-jarvis/OpenJarvis#1192 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
sylvainmetayer/homelab#851 ·
Los mantenedores suelen responder en 1 día