xkcd: try searchxkcd.com backend, with web-search as fallback #2377
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.
Description
Asked the creator of searchxkcd.com on Twitter about an API. Was told there is no true public API (yet), but I could pull the backend URL out of network tools. So have I done.
Makes the most sense to keep the original
web_search()method around as a backup option. For example, two days after the latest comic's release on Friday (today is Sunday), searching searchxkcd.com for its title returns no results. For this special case we have the 'latest' operator, but there are no guarantees for how frequently searchxkcd's index is updated with fresh comics.Checklist
make qa(runsmake qualityandmake test)Notes
Complements #2376, but shouldn't replace it. The two patches work together to fix and improve search results in
xkcd.Aside: Sure would be nice if xkcd itself provided a JSON file listing all of the comics' basic data in one place. The data already exists for each individual comic; that's how this plugin fetches comics by number.