Add async support to upload file prgoress callback

This will make it possible to use async callbacks when uploading a file.
This commit is contained in:
painor 2019-08-19 18:42:43 +01:00 committed by GitHub
parent 42874de2b2
commit 4f7d8f3d60
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -573,7 +573,9 @@ class UploadMethods:
self._log[__name__].debug('Uploaded %d/%d',
part_index + 1, part_count)
if progress_callback:
progress_callback(stream.tell(), file_size)
r = progress_callback(f.tell(), file_size)
if inspect.isawaitable(r):
await r
else:
raise RuntimeError(
'Failed to upload file part {}.'.format(part_index))