@@ -718,10 +718,13 @@ def touch(self, path, truncate=True, data=None, **kwargs):
718
718
if not truncate and self .exists (path ):
719
719
raise ValueError ("S3 does not support touching existent files" )
720
720
try :
721
- self .call_s3 (self .s3 .put_object , kwargs , Bucket = bucket , Key = key )
721
+ write_result = self .call_s3 (
722
+ self .s3 .put_object , kwargs , Bucket = bucket , Key = key
723
+ )
722
724
except ClientError as ex :
723
725
raise translate_boto_error (ex ) from ex
724
726
self .invalidate_cache (self ._parent (path ))
727
+ return write_result
725
728
726
729
async def _cat_file (self , path , version_id = None , start = None , end = None ):
727
730
bucket , key , vers = self .split_path (path )
@@ -1707,7 +1710,7 @@ def commit(self):
1707
1710
if self .buffer is not None :
1708
1711
logger .debug ("Empty file committed %s" % self )
1709
1712
self ._abort_mpu ()
1710
- self .fs .touch (self .path )
1713
+ write_result = self .fs .touch (self .path )
1711
1714
elif not self .parts :
1712
1715
if self .buffer is not None :
1713
1716
logger .debug ("One-shot upload of %s" % self )
@@ -1720,8 +1723,6 @@ def commit(self):
1720
1723
Body = data ,
1721
1724
** self .kwargs ,
1722
1725
)
1723
- if self .fs .version_aware :
1724
- self .version_id = write_result .get ("VersionId" )
1725
1726
else :
1726
1727
raise RuntimeError
1727
1728
else :
@@ -1734,9 +1735,9 @@ def commit(self):
1734
1735
UploadId = self .mpu ["UploadId" ],
1735
1736
MultipartUpload = part_info ,
1736
1737
)
1737
- if self .fs .version_aware :
1738
- self .version_id = write_result .get ("VersionId" )
1739
1738
1739
+ if self .fs .version_aware :
1740
+ self .version_id = write_result .get ("VersionId" )
1740
1741
# complex cache invalidation, since file's appearance can cause several
1741
1742
# directories
1742
1743
self .buffer = None
0 commit comments