fix(download): retrieve full folder to resolve type error
Retrieve the full Folder object from FoldersApi instead of using the FolderSimple returned by find_sub_folder when resolving DOI subfolders. This fixes a type checker error under the upgraded pyright, and avoids a potential AttributeError at runtime due to FolderSimple lacking the path attribute. Also upgrade dependencies and bump version to 1.3.16 in pyproject.toml.
This commit is contained in:
@@ -98,9 +98,10 @@ class DownloadCommand(BaseCommand):
|
||||
cls.__multiple_download(connection, context)
|
||||
return
|
||||
else:
|
||||
folder = r_parent_folder.find_sub_folder(r_basename)
|
||||
if folder is None:
|
||||
folder_simple = r_parent_folder.find_sub_folder(r_basename)
|
||||
if folder_simple is None:
|
||||
raise IllegalArgumentException(f"File or folder `{subpath_clean}` not found.")
|
||||
folder = FoldersApi(connection).retrieve(folder_simple.id)
|
||||
is_folder = True
|
||||
|
||||
# For a DOI target the whole folder is the download target.
|
||||
|
||||
+9
-9
@@ -1,6 +1,6 @@
|
||||
[tool.poetry]
|
||||
name = "mdrs-client-python"
|
||||
version = "1.3.15"
|
||||
version = "1.3.16"
|
||||
description = "The mdrs-client-python is python library and a command-line client for up- and downloading files to and from MDRS based repository."
|
||||
authors = ["Yoshihiro OKUMURA <yoshihiro.okumura@riken.jp>"]
|
||||
license = "MIT"
|
||||
@@ -24,20 +24,20 @@ packages = [
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.10"
|
||||
requests = "^2.32.3"
|
||||
requests = "^2.34.2"
|
||||
requests-toolbelt = "^1.0.0"
|
||||
python-dotenv = "^1.1.0"
|
||||
pydantic = "^2.11.4"
|
||||
pydantic-settings = "^2.9.1"
|
||||
PyJWT = "^2.10.1"
|
||||
validators = "^0.34.0"
|
||||
pydantic = "^2.13.4"
|
||||
pydantic-settings = "^2.14.1"
|
||||
PyJWT = "^2.13.0"
|
||||
validators = "^0.35.0"
|
||||
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
black = "^24.10.0"
|
||||
black = "^26.5.1"
|
||||
flake8 = "^7.2.0"
|
||||
Flake8-pyproject = "^1.2.3"
|
||||
isort = "^5.13.2"
|
||||
pyright = "^1.1.400"
|
||||
isort = "^8.0.1"
|
||||
pyright = "^1.1.401"
|
||||
|
||||
[tool.poetry.scripts]
|
||||
mdrs = 'mdrsclient.__main__:main'
|
||||
|
||||
Reference in New Issue
Block a user