Fix automatic size hint on uploads #626
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.
When uploading without a size hint (via headers or
--size-hint
), a x-archive-size-hint header is added automatically. However, prior to this commit, the value was the individual file size on each file'sPUT
request. This effectively made the size hint useless because it does not, in fact, provide a size hint for the total item size to the S3 backend at item creation time.Notes on detailed changes to implement this:
internetarchive.utils.recursive_file_count
torecursive_file_count_and_size
, adding a wrapper for backwards compatibilityinternetarchive.utils.get_file_size
internetarchive.utils.is_filelike_obj
helper functiontotal_files
would never beNone
and sorecursive_file_count
was never called, possibly leading to incorrect derive queueing.