5
5
# of static code checkers. Thus we avoid listing them with __all__ = ...
6
6
from ._internal import ClientOptions as ClientOptions
7
7
from ._internal import ListResult as ListResult
8
+ from ._internal import PutResult as PutResult
9
+ from ._internal import MultipartUpload as MultipartUpload
8
10
from ._internal import ObjectMeta as ObjectMeta
9
11
from ._internal import ObjectStore as _ObjectStore
10
12
from ._internal import Path as Path
@@ -80,7 +82,7 @@ def get_range(self, location: PathLike, start: int, length: int) -> bytes:
80
82
"""
81
83
return super ().get_range (_as_path (location ), start , length )
82
84
83
- def put (self , location : PathLike , bytes : BytesLike ) -> None :
85
+ def put (self , location : PathLike , bytes : BytesLike ) -> PutResult :
84
86
"""Save the provided bytes to the specified location.
85
87
86
88
Args:
@@ -89,6 +91,23 @@ def put(self, location: PathLike, bytes: BytesLike) -> None:
89
91
"""
90
92
return super ().put (_as_path (location ), _as_bytes (bytes ))
91
93
94
+ def put_opts (self , location : PathLike , bytes : BytesLike ) -> PutResult :
95
+ """Save the provided bytes to the specified location with the given options
96
+
97
+ Args:
98
+ location (PathLike): path / key to storage location
99
+ bytes (BytesLike): data to be written to location
100
+ """
101
+ return super ().put_opts (_as_path (location ), _as_bytes (bytes ))
102
+
103
+ def put_multipart (self , location : PathLike ) -> MultipartUpload :
104
+ """Perform a multipart upload
105
+
106
+ Args:
107
+ location (PathLike): path / key to storage location
108
+ """
109
+ return super ().put_multipart (_as_path (location ))
110
+
92
111
def delete (self , location : PathLike ) -> None :
93
112
"""Delete the object at the specified location.
94
113
0 commit comments