diff --git a/platform_storage_api/api.py b/platform_storage_api/api.py index b336590..0918f28 100644 --- a/platform_storage_api/api.py +++ b/platform_storage_api/api.py @@ -771,12 +771,12 @@ async def handle_error_if_streamed( error_class: type[web.HTTPError] = web.HTTPBadRequest, ) -> None: if response.prepared: - error_dict = dict( - error=str_error, - errno=errorcode[errno] - if errno is not None and errno in errorcode - else errno, - ) + error_dict = { + "error": str_error, + "errno": ( + errorcode[errno] if errno is not None and errno in errorcode else errno + ), + } await response.write(json.dumps(error_dict).encode()) else: raise _http_exception(error_class, str_error, errno=errno) @@ -862,7 +862,7 @@ def make_tracing_trace_configs(config: Config) -> list[aiohttp.TraceConfig]: async def create_app(config: Config) -> web.Application: app = web.Application( middlewares=[handle_exceptions], - handler_args=dict(keepalive_timeout=config.server.keep_alive_timeout_s), + handler_args={"keepalive_timeout": config.server.keep_alive_timeout_s}, ) app[CONFIG_KEY] = config diff --git a/platform_storage_api/fs/local.py b/platform_storage_api/fs/local.py index 1950302..7edbcfa 100644 --- a/platform_storage_api/fs/local.py +++ b/platform_storage_api/fs/local.py @@ -363,22 +363,21 @@ async def _iterate_in_chunks( yield chunk def _scandir_iter(self, path: PurePath) -> Iterator[FileStatus]: - with self._resolve_dir_fd(path) as dirfd: - with os.scandir(dirfd) as scandir_it: - for entry in scandir_it: - if entry.is_symlink(): - target = os.readlink(entry.name, dir_fd=dirfd) - yield self._create_linkstatus( - PurePath(entry.name), - entry.stat(follow_symlinks=False), - target=target, - ) - else: - yield self._create_filestatus( - PurePath(entry.name), - entry.stat(follow_symlinks=False), - entry.is_dir(follow_symlinks=False), - ) + with self._resolve_dir_fd(path) as dirfd, os.scandir(dirfd) as scandir_it: + for entry in scandir_it: + if entry.is_symlink(): + target = os.readlink(entry.name, dir_fd=dirfd) + yield self._create_linkstatus( + PurePath(entry.name), + entry.stat(follow_symlinks=False), + target=target, + ) + else: + yield self._create_filestatus( + PurePath(entry.name), + entry.stat(follow_symlinks=False), + entry.is_dir(follow_symlinks=False), + ) async def _iterstatus_iter( self, dir_iter: Iterator[FileStatus] @@ -566,11 +565,11 @@ async def remove(self, path: PurePath, *, recursive: bool = False) -> None: await self._loop.run_in_executor(self._executor, self._remove, path, recursive) def _rename(self, old: PurePath, new: PurePath) -> None: - with self._resolve_dir_fd(old.parent) as src_dir_fd: - with self._resolve_dir_fd(new.parent) as dst_dir_fd: - os.rename( - old.name, new.name, src_dir_fd=src_dir_fd, dst_dir_fd=dst_dir_fd - ) + with ( + self._resolve_dir_fd(old.parent) as src_dir_fd, + self._resolve_dir_fd(new.parent) as dst_dir_fd, + ): + os.rename(old.name, new.name, src_dir_fd=src_dir_fd, dst_dir_fd=dst_dir_fd) async def rename(self, old: PurePath, new: PurePath) -> None: await self._loop.run_in_executor(self._executor, self._rename, old, new) diff --git a/platform_storage_api/storage.py b/platform_storage_api/storage.py index 06032d5..883ba3c 100644 --- a/platform_storage_api/storage.py +++ b/platform_storage_api/storage.py @@ -189,7 +189,7 @@ async def rename( @trace async def disk_usage( - self, path: Optional[Union[PurePath, str]] = None + self, path: Union[PurePath, str, None] = None ) -> DiskUsageInfo: real_path = await self._path_resolver.resolve_path(PurePath(path or "/")) return await self._fs.disk_usage(real_path) diff --git a/tests/integration/test_api_sharing_resources.py b/tests/integration/test_api_sharing_resources.py index fbff3a7..8782950 100644 --- a/tests/integration/test_api_sharing_resources.py +++ b/tests/integration/test_api_sharing_resources.py @@ -9,9 +9,9 @@ import yarl from platform_storage_api.fs.local import FileStatusType +from tests.integration.conftest import ApiConfig, status_iter_response_to_list from .auth import _User, _UserFactory -from tests.integration.conftest import ApiConfig, status_iter_response_to_list class TestStorageListAndResourceSharing: diff --git a/tests/integration/test_api_websocket.py b/tests/integration/test_api_websocket.py index b02fc20..75560f1 100644 --- a/tests/integration/test_api_websocket.py +++ b/tests/integration/test_api_websocket.py @@ -12,14 +12,14 @@ from platform_storage_api.api import WSStorageOperation from platform_storage_api.fs.local import FileStatusType - -from .auth import _User, _UserFactory from tests.integration.conftest import ( ApiConfig, get_filestatus_dict, get_liststatus_dict, ) +from .auth import _User, _UserFactory + def ws_request( op: WSStorageOperation, id: int, path: Optional[str] = None, **kwargs: Any