diff --git a/storage3/_async/file_api.py b/storage3/_async/file_api.py index c5b906df..26c95a48 100644 --- a/storage3/_async/file_api.py +++ b/storage3/_async/file_api.py @@ -164,7 +164,11 @@ async def list( """ extra_options = options or {} extra_headers = {"Content-Type": "application/json"} - body = {**DEFAULT_SEARCH_OPTIONS, **extra_options, "prefix": path or ""} + body = { + **DEFAULT_SEARCH_OPTIONS, + **extra_options, + "prefix": path or "", + } response = await self._request( "POST", f"/object/list/{self.id}", @@ -196,7 +200,10 @@ async def download(self, path: str, options: TransformOptions = {}) -> bytes: return response.content async def upload( - self, path: str, file: Union[str, Path], file_options: Optional[dict] = None + self, + path: str, + file: Union[BufferedReader, bytes, FileIO, str, Path], + file_options: Optional[dict] = None, ) -> Response: """ Uploads a file to an existing bucket. @@ -213,7 +220,11 @@ async def upload( """ if file_options is None: file_options = {} - headers = {**self._client.headers, **DEFAULT_FILE_OPTIONS, **file_options} + headers = { + **self._client.headers, + **DEFAULT_FILE_OPTIONS, + **file_options, + } filename = path.rsplit("/", maxsplit=1)[-1] if ( @@ -225,7 +236,13 @@ async def upload( files = {"file": (filename, file, headers.pop("content-type"))} else: # str or pathlib.path received - files = {"file": (filename, open(file, "rb"), headers.pop("content-type"))} + files = { + "file": ( + filename, + open(file, "rb"), + headers.pop("content-type"), + ) + } _path = self._get_final_path(path) diff --git a/storage3/_sync/file_api.py b/storage3/_sync/file_api.py index 4f5da05f..657bdfed 100644 --- a/storage3/_sync/file_api.py +++ b/storage3/_sync/file_api.py @@ -196,7 +196,10 @@ def download(self, path: str, options: TransformOptions = {}) -> bytes: return response.content def upload( - self, path: str, file: Union[str, Path], file_options: Optional[dict] = None + self, + path: str, + file: Union[BufferedReader, bytes, FileIO, str, Path], + file_options: Optional[dict] = None, ) -> Response: """ Uploads a file to an existing bucket.