Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[BUG] Zenodo api error response not saved nor displayed #169

Open
Labels
bugSomething isn't working
@raph-rc

Description

Describe the bug
When using AtlasCentricPreprocessing, the atlases are downloaded from zenodo on the first run. However, in the event of a non-200 status code, the error response returned along with the status code is neither displayed nor logged, resulting in an unhelpful "Cannot find record '15236131' on Zenodo (response.status_code=403)." We do not know from this message what caused the 403 forbidden error, and Zenodo reports in its documentation that the error response should contain further explanation/debugging steps. Given that using the browser to visit the same api url returns valid json, it is very hard to debug the problem without the error response.

To Reproduce
Steps to reproduce the behavior:
This 403 error might be hard to reproduce since it is intermittent for me in a debian bookworm container. I will try my best to help reproduce the error but I cannot guarantee.

  1. Create a Containerfile with this content
FROM python:3.12-bookworm
RUN pip install brats[preprocessing] pybids
WORKDIR /workspace
COPY . .
CMD ["python", "/workspace/main.py"]
  1. Create a minimal main.py in the same directory with this content:
from brainles_preprocessing.constants import Atlas
from brainles_preprocessing.modality import Modality, CenterModality
from brainles_preprocessing.preprocessor import (
 AtlasCentricPreprocessor,
)
from brainles_preprocessing.registration import ANTsRegistrator
preprocessor = AtlasCentricPreprocessor(
 center_modality=CenterModality(), # Fill in info about your local data here
 moving_modalities=[
 Modality() # Fill in info about your local data here
 ],
 registrator=ANTsRegistrator(),
 atlas_image_path=Atlas.BRATS_MNI152,
)
preprocessor.run()
  1. Build the container using podman -v /data/dir/on/your/machine:/mounted/data/dir -t zenodo-test:latest .
  2. Run the container using podman run zenodo-test
    I hope that this does it.

Expected behavior
The error response is logged along with the status code.

Screenshots

2026年01月23日 00:53:26.460 | ERROR | brainles_preprocessing.utils.zenodo:_get_metadata_and_archive_url:144 - Cannot find record '15236131' on Zenodo (response.status_code=403).
Traceback (most recent call last):
 File "/workspace/main.py", line 301, in <module>
 main()
 File "/workspace/main.py", line 297, in main
 register_to_atlas(temp, output, first_session)
 File "/workspace/main.py", line 225, in register_to_atlas
 preprocessor = AtlasCentricPreprocessor(
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/usr/local/lib/python3.12/site-packages/brainles_preprocessing/preprocessor/atlas_centric_preprocessor.py", line 61, in __init__
 atlas_folder = fetch_atlases()
 ^^^^^^^^^^^^^^^
 File "/usr/local/lib/python3.12/site-packages/brainles_preprocessing/utils/zenodo.py", line 32, in fetch_atlases
 return record.fetch()
 ^^^^^^^^^^^^^^
 File "/usr/local/lib/python3.12/site-packages/brainles_preprocessing/utils/zenodo.py", line 71, in fetch
 zenodo_response = self._get_metadata_and_archive_url()
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/usr/local/lib/python3.12/site-packages/brainles_preprocessing/utils/zenodo.py", line 145, in _get_metadata_and_archive_url
 raise ZenodoException(error_msg)
brainles_preprocessing.utils.zenodo.ZenodoException: Cannot find record '15236131' on Zenodo (response.status_code=403).

Environment

operating system and version?

Debian bookworm, no nvidia

Python environment and version?

e.g. Conda environment with Python 3.10. Check your Python version with:
Python 3.12

version of brainles_preprocessing ?

please specify your version of brainles_preprocessing (please make sure you run the latest version): 0.6.8

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /