From 6ab929eac3b09db86c1dd751446dad48dd8dbd60 Mon Sep 17 00:00:00 2001 From: Andreas Poehlmann Date: Sun, 3 Mar 2024 23:26:14 +0100 Subject: [PATCH] upath.local: support fsspec options in open --- upath/implementations/local.py | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/upath/implementations/local.py b/upath/implementations/local.py index cb63e2a..b2ee1e5 100644 --- a/upath/implementations/local.py +++ b/upath/implementations/local.py @@ -120,7 +120,17 @@ def open( newline=None, **fsspec_kwargs, ) -> IO[Any]: - return PosixPath.open(self, mode, buffering, encoding, errors, newline) + if fsspec_kwargs: + return super(LocalPath, self).open( + mode=mode, + buffering=buffering, + encoding=encoding, + errors=errors, + newline=newline, + **fsspec_kwargs, + ) + else: + return PosixPath.open(self, mode, buffering, encoding, errors, newline) if sys.version_info < (3, 12): @@ -174,7 +184,17 @@ def open( newline=None, **fsspec_kwargs, ) -> IO[Any]: - return WindowsPath.open(self, mode, buffering, encoding, errors, newline) + if fsspec_kwargs: + return super(LocalPath, self).open( + mode=mode, + buffering=buffering, + encoding=encoding, + errors=errors, + newline=newline, + **fsspec_kwargs, + ) + else: + return WindowsPath.open(self, mode, buffering, encoding, errors, newline) if sys.version_info < (3, 12):