feat: fall back to bundled data.json when remote URL returns non-200#2994
Open
Aryan-Shastri wants to merge 1 commit into
Open
Conversation
When the remote MANIFEST_URL returns a non-200 response (e.g. 404 on older installations pointing to a stale URL), try loading the bundled sherlock_project/resources/data.json instead of crashing. Prints a warning so users know the remote fetch failed. If the local fallback also doesn't exist, raises a FileNotFoundError with an actionable message suggesting `pip install -U sherlock-project`. Fixes sherlock-project#2924
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.
Problem
Users on older installations (e.g. Ubuntu 24.04 apt package shipping sherlock 0.14.3) hit a cryptic crash when the remote
MANIFEST_URLreturns a non-200 response:Bad response while accessing data file URL 'https://...'
No fallback, no actionable guidance — just a hard failure.
Fix
When the remote data URL returns a non-200 response, fall back to the bundled
sherlock_project/resources/data.jsonthat ships with the package, and print a warning so the user knows what happened.If the local fallback also doesn't exist, raise a
FileNotFoundErrorwith an actionable message (pip install -U sherlock-project) instead of a bare crash.Behaviour after this change
data.json, prints warningTesting