Skip to content

Commit 144ffa8

Browse files
committed
fixup! Implement mirror_file, mirror_part & finalize_file (#6862)
1 parent d22ac9e commit 144ffa8

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/azul/azulclient.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ def mirror_part_message(self,
226226
file: File,
227227
part: FilePart,
228228
upload_id: str,
229-
etags: Sequence[str] = ()
229+
etags: Sequence[str]
230230
) -> SQSFifoMessage:
231231
return SQSFifoMessage(
232232
body={
@@ -703,13 +703,17 @@ def mirror_file(self,
703703
assert file.size is not None, R('File size unknown', file)
704704
part_size = FilePart.default_size
705705
if file.size <= part_size:
706-
log.info('Mirroring file %r via single-part upload', file.uuid)
706+
log.info('Mirroring file %r via standard upload', file.uuid)
707707
self.mirror_service.mirror_file(catalog, file)
708+
log.info('Successfully mirrored file %r via standard upload', file.uuid)
708709
else:
709710
log.info('Mirroring file %r via multi-part upload', file.uuid)
710711
upload_id = self.mirror_service.begin_mirroring_file(file)
711-
part = FilePart.head(file, part_size)
712-
messages = [self.mirror_part_message(catalog, file, part, upload_id)]
712+
first_part = FilePart.first(file, part_size)
713+
etag = self.mirror_service.mirror_file_part(catalog, file, upload_id, first_part)
714+
next_part = first_part.next(file)
715+
assert next_part is not None
716+
messages = [self.mirror_part_message(catalog, file, next_part, upload_id, [etag])]
713717
self.queue_mirror_messages(messages)
714718

715719
def mirror_file_part(self,
@@ -745,7 +749,9 @@ def finalize_file(self,
745749
etags: Sequence[str]
746750
):
747751
file = self.load_file(catalog, file_json)
752+
assert etags
748753
self.mirror_service.finish_mirroring_file(file, upload_id, etags)
754+
log.info('Successfully mirrored file %r via multi-part upload', file.uuid)
749755

750756
def load_file(self, catalog: CatalogName, file: JSON) -> File:
751757
return self.metadata_plugin(catalog).file_class.from_json(file)

0 commit comments

Comments
 (0)