Add Netkan option to overwrite cached files #2582
Merged
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
If a mod author uploads a release to SpaceDock, then deletes it and re-uploads the same version with a changed file (usually because the first version had an error), the original version will remain in the Netkan bot's cache, and the metadata for that release will have an incorrect file size and hashes. Resolving this situation requires having @techman83 manually purge the files from the bot's cache.
Purge cache pls
BoyVoyage and Mk3Expansion have this problem right now, according to the latest posts on the forum; these files need to go:
C121BF1D-netkan-BonVoyage.zip
61E04792-netkan-Mk3Expansion.zip
BBB54E05-netkan-StockalikeMiningExtension.zip
Changes
Now Netkan has a new
--overwrite-cache
command line flag. When this is present, Netkan will delete the cached file for a URL the first time that URL is requested per run, then re-download it normally.When a release is uploaded to SpaceDock, it triggers a special web hook for the Netkan bot to re-index just that one module, which downloads the module's file into the bot's cache at that moment. If the file is already in the cache, then the cached version is used instead of re-downloading.
If/after this PR is merged, I am planning to update the bot's Perl scripts to pass the
--overwrite-cache
parameter only in that special web hook. The normal bot execution would continue to run the same as before, but a release notification on SpaceDock would always ensure that the latest file is downloaded rather than re-used from the cache.I believe this should eliminate the need to manually purge the bot's cache.