7 Commits

7 changed files with 25 additions and 15 deletions

View File

@ -16,7 +16,11 @@
"mdrsclient",
"neurodata",
"Neuroinformatics",
"orcid",
"RIKEN"
],
"ignorePaths": [".env", "__pycache__"]
"ignorePaths": [
".env",
"__pycache__"
]
}

3
.gitignore vendored
View File

@ -160,4 +160,5 @@ cython_debug/
.idea/
# mdrs-cli
.neurodatacli.config
.neurodatacli.config
poetry.toml

View File

@ -1 +1 @@
1.3.7
1.3.12

View File

@ -20,8 +20,10 @@ class UsersCurrentResponseLaboratory:
class UsersApiCurrentResponse:
id: int
username: str
full_name: str
first_name: str
last_name: str
email: str
orcid_id: str
laboratories: list[UsersCurrentResponseLaboratory]
is_staff: bool
is_active: bool

View File

@ -141,10 +141,13 @@ class DownloadCommand(BaseCommand):
@classmethod
def __multiple_download_worker(cls, file_api: FilesApi, info: DownloadFileInfo, is_skip_if_exists: bool) -> bool:
if not is_skip_if_exists or os.path.exists(info.path) and info.file.size != os.path.getsize(info.path):
if not is_skip_if_exists or not os.path.exists(info.path) or info.file.size != os.path.getsize(info.path):
try:
file_api.download(info.file, info.path)
except Exception:
print(f"Failed: ${info.path}")
if os.path.isfile(info.path):
os.remove(info.path)
return False
print(info.path)
return True

View File

@ -2,7 +2,7 @@ import configparser
import os
from typing import Final
import validators # type: ignore
import validators
from mdrsclient.exceptions import IllegalArgumentException
from mdrsclient.settings import CONFIG_DIRNAME
@ -41,7 +41,7 @@ class ConfigFile:
@url.setter
def url(self, url: str) -> None:
if not validators.url(url): # type: ignore
if not validators.url(url):
raise IllegalArgumentException("malformed URI sequence")
self.__load()
if self.__config.has_section(self.remote):

View File

@ -1,6 +1,6 @@
[tool.poetry]
name = "mdrs-client-python"
version = "1.3.9"
version = "1.3.12"
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"
@ -25,18 +25,18 @@ packages = [
python = "^3.10"
requests = "^2.32.3"
requests-toolbelt = "^1.0.0"
python-dotenv = "^1.0.1"
pydantic = "^2.9.2"
pydantic-settings = "^2.6.0"
PyJWT = "^2.9.0"
validators = "^0.33.0"
python-dotenv = "^1.1.0"
pydantic = "^2.11.4"
pydantic-settings = "^2.9.1"
PyJWT = "^2.10.1"
validators = "^0.34.0"
[tool.poetry.group.dev.dependencies]
black = "^24.10.0"
flake8 = "^7.1.1"
flake8 = "^7.2.0"
Flake8-pyproject = "^1.2.3"
isort = "^5.13.2"
pyright = "^1.1.386"
pyright = "^1.1.400"
[tool.poetry.scripts]
mdrs = 'mdrsclient.__main__:main'