diff --git a/README.md b/README.md index 31ba595..47bb964 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ The mdrs-client-python is python library and a command-line client for up- and d ## Installing -``` +```shell poetry install ``` @@ -14,141 +14,143 @@ poetry install Create remote host configuration -``` -$ mdrs config create neurodata https://neurodata.riken.jp/api +```shell +mdrs config create neurodata https://neurodata.riken.jp/api ``` ### login Login to remote host -``` -$ mdrs login neurodata: +```shell +mdrs login neurodata: Username: (enter your login name) Password: (enter your password) + +mdrs login -u USERNAME -p PASSWORD neurodata: ``` ### logout Logout from remote host -``` -$ mdrs logout neurodata: +```shell +mdrs logout neurodata: ``` ### whoami Print current user name -``` -$ mdrs whoami neurodata: +```shell +mdrs whoami neurodata: ``` ### labs List all laboratories -``` -$ mdrs labs neurodata: +```shell +mdrs labs neurodata: ``` ### ls List the folder contents -``` -$ mdrs ls neurodata:/NIU/Repository/ -$ mdrs ls -p PW_OPEN_PASSWORD neurodata:/NIU/Repository/PW_Open/ -$ mdrs ls -r neurodata:/NIU/Repository/Dataset1/ -$ mdrs ls -J -r neurodata:/NIU/Repository/Dataset1/ +```shell +mdrs ls neurodata:/NIU/Repository/ +mdrs ls -p PW_OPEN_PASSWORD neurodata:/NIU/Repository/PW_Open/ +mdrs ls -r neurodata:/NIU/Repository/Dataset1/ +mdrs ls -J -r neurodata:/NIU/Repository/Dataset1/ ``` ### mkdir Create a new folder -``` -$ mdrs mkdir neurodata:/NIU/Repository/TEST +```shell +mdrs mkdir neurodata:/NIU/Repository/TEST ``` ### upload Upload the file or directory -``` -$ mdrs upload ./sample.dat neurodata:/NIU/Repository/TEST/ -$ mdrs upload -r ./dataset neurodata:/NIU/Repository/TEST/ +```shell +mdrs upload ./sample.dat neurodata:/NIU/Repository/TEST/ +mdrs upload -r ./dataset neurodata:/NIU/Repository/TEST/ ``` ### download Download the file or folder -``` -$ mdrs download neurodata:/NIU/Repository/TEST/sample.dat ./ -$ mdrs download -r neurodata:/NIU/Repository/TEST/dataset/ ./ -$ mdrs download -p PW_OPEN_PASSWORD neurodata:/NIU/Repository/PW_Open/Readme.dat ./ +```shell +mdrs download neurodata:/NIU/Repository/TEST/sample.dat ./ +mdrs download -r neurodata:/NIU/Repository/TEST/dataset/ ./ +mdrs download -p PW_OPEN_PASSWORD neurodata:/NIU/Repository/PW_Open/Readme.dat ./ ``` ### mv Move or rename the file or folder -``` -$ mdrs mv neurodata:/NIU/Repository/TEST/sample.dat neurodata:/NIU/Repository/TEST2/sample2.dat -$ mdrs mv neurodata:/NIU/Repository/TEST/dataset neurodata:/NIU/Repository/TEST2/ +```shell +mdrs mv neurodata:/NIU/Repository/TEST/sample.dat neurodata:/NIU/Repository/TEST2/sample2.dat +mdrs mv neurodata:/NIU/Repository/TEST/dataset neurodata:/NIU/Repository/TEST2/ ``` ### cp Copy the file and folder -``` -$ mdrs cp neurodata:/NIU/Repository/TEST/sample.dat neurodata:/NIU/Repository/TEST2/sample2.dat -$ mdrs cp -r neurodata:/NIU/Repository/TEST/dataset neurodata:/NIU/Repository/TEST2/ +```shell +mdrs cp neurodata:/NIU/Repository/TEST/sample.dat neurodata:/NIU/Repository/TEST2/sample2.dat +mdrs cp -r neurodata:/NIU/Repository/TEST/dataset neurodata:/NIU/Repository/TEST2/ ``` ### rm Remove the file or folder -``` -$ mdrs rm neurodata:/NIU/Repository/TEST2/sample2.dat -$ mdrs rm -r neurodata:/NIU/Repository/TEST2/dataset +```shell +mdrs rm neurodata:/NIU/Repository/TEST2/sample2.dat +mdrs rm -r neurodata:/NIU/Repository/TEST2/dataset ``` ### chacl Change the folder access level -``` -$ mdrs chacl private neurodata:/NIU/Repository/Private -$ mdrs chacl cbs_open -r neurodata:/NIU/Repository/CBS_Open -$ mdrs chacl pw_open -r -p FOLDER_PASSWORD neurodata:/NIU/Repository/PW_Open +```shell +mdrs chacl private neurodata:/NIU/Repository/Private +mdrs chacl cbs_open -r neurodata:/NIU/Repository/CBS_Open +mdrs chacl pw_open -r -p FOLDER_PASSWORD neurodata:/NIU/Repository/PW_Open ``` ### metadata Get a folder metadata -``` -$ mdrs metadata neurodata:/NIU/Repository/TEST/ -$ mdrs metadata -p PW_OPEN_PASSWORD neurodata:/NIU/Repository/PW_Open/ +```shell +mdrs metadata neurodata:/NIU/Repository/TEST/ +mdrs metadata -p PW_OPEN_PASSWORD neurodata:/NIU/Repository/PW_Open/ ``` ### file-metadata Get the file metadata -``` -$ mdrs file-metadata neurodata:/NIU/Repository/TEST/dataset/sample.dat -$ mdrs file-metadata -p PW_OPEN_PASSWORD neurodata:/NIU/Repository/PW_Open/Readme.txt +```shell +mdrs file-metadata neurodata:/NIU/Repository/TEST/dataset/sample.dat +mdrs file-metadata -p PW_OPEN_PASSWORD neurodata:/NIU/Repository/PW_Open/Readme.txt ``` ### help Show the help message and exit -``` -$ mdrs -h +```shell +mdrs -h ``` diff --git a/mdrsclient/commands/login.py b/mdrsclient/commands/login.py index f5db3a4..738855f 100644 --- a/mdrsclient/commands/login.py +++ b/mdrsclient/commands/login.py @@ -13,14 +13,16 @@ class LoginCommand(BaseCommand): @classmethod def register(cls, parsers: Any) -> None: login_parser = parsers.add_parser("login", help="login to remote host") + login_parser.add_argument("-u", "--username", help="login username") + login_parser.add_argument("-p", "--password", help="login password") login_parser.add_argument("remote", help="label of remote host") login_parser.set_defaults(func=cls.func) @classmethod def func(cls, args: Namespace) -> None: remote = str(args.remote) - username = input("Username: ").strip() - password = getpass.getpass("Password: ").strip() + username = str(args.username) if args.password else input("Username: ").strip() + password = str(args.password) if args.password else getpass.getpass("Password: ").strip() cls.login(remote, username, password) @classmethod diff --git a/pyproject.toml b/pyproject.toml index 6b75aaf..c834cb5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "mdrs-client-python" -version = "1.3.1" +version = "1.3.2" 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 "] license = "MIT" @@ -30,8 +30,8 @@ PyJWT = "^2.8.0" validators = "^0.22.0" [tool.poetry.group.dev.dependencies] -black = "^23.12.0" -flake8 = "^6.1.0" +black = "^24.1.1" +flake8 = "^7.0.0" Flake8-pyproject = "^1.2.3" isort = "^5.13.0" pyright = "^1.1.339"