Repository navigation
Conversation
Contributor
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The 404 contract change breaks an existing test, while staging-directory errors bypass local fallback and owner-only published permissions prevent shared access to assets.
3 open issues
What changed in this PR
This PR addresses #190 by improving Zenodo failure handling for atlas and SynthStrip weight downloads, allowing existing local assets to remain usable during service failures.
Changes:
- Adds HTTP request timeouts and routes metadata errors to the local-copy fallback.
- Skips empty or unparseable local version directories.
- Stages downloads in temporary directories and retains the old version if an upgrade fails.
| File | Description |
|---|---|
brainles_preprocessing/utils/zenodo.py |
Improves Zenodo error handling, local version selection, and staged asset replacement. |
Review effort: Balanced
| f"Zenodo returned an unexpected status for record " | ||
| f"'{self.record_id}' ({response.status_code=})." | ||
| ) | ||
| return None |
Comment on lines
+255
to
+260
| self.target_dir.mkdir(parents=True, exist_ok=True) | ||
| # Staged inside target_dir so the final move is a rename on the same | ||
| # filesystem. The leading dot keeps it out of _glob_pattern(). | ||
| staging_dir = Path( | ||
| tempfile.mkdtemp(prefix=f".tmp_{self.record_id}_", dir=self.target_dir) | ||
| ) |
| f"Failed to delete {path}: {excinfo}" | ||
| ), | ||
| ) | ||
| staging_dir.replace(folder) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


#190