Skip to content

Commit

Permalink
コマンドライン引数から認証情報を指定できるようにする。 (#886)
Browse files Browse the repository at this point in the history
* コマンドライン引数からアノテーションを削除できるようにする

* ドキュメントの追加

* バージョンアップ

* poetry update
  • Loading branch information
yuji38kwmt authored Oct 28, 2022
1 parent 9cc9e22 commit 91a652c
Show file tree
Hide file tree
Showing 5 changed files with 198 additions and 194 deletions.
2 changes: 1 addition & 1 deletion annofabcli/__version__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "1.72.6"
__version__ = "1.73.0"
17 changes: 16 additions & 1 deletion annofabcli/common/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,12 @@ def create_parent_parser() -> argparse.ArgumentParser:
group.add_argument("--yes", action="store_true", help="処理中に現れる問い合わせに対して、常に ``yes`` と回答します。")

group.add_argument(
"--endpoint_url", type=str, help=f"Annofab WebAPIのエンドポイントを指定します。", default=DEFAULT_ENDPOINT_URL
"--endpoint_url", type=str, help="Annofab WebAPIのエンドポイントを指定します。", default=DEFAULT_ENDPOINT_URL
)

group.add_argument("--annofab_user_id", type=str, help="Annofabにログインする際のユーザーID")
group.add_argument("--annofab_password", type=str, help="Annofabにログインする際のパスワード")

group.add_argument(
"--logdir",
type=Path,
Expand Down Expand Up @@ -310,6 +313,18 @@ def build_annofabapi_resource(args: argparse.Namespace) -> annofabapi.Resource:
if endpoint_url != DEFAULT_ENDPOINT_URL:
logger.info(f"Annofab WebAPIのエンドポイントURL: {endpoint_url}")

# コマンドライン引数からユーザーIDが指定された場合
if args.annofab_user_id is not None:
login_user_id: str = args.annofab_user_id
if args.annofab_password is not None:
return annofabapi.build(login_user_id, args.annofab_password, endpoint_url=endpoint_url)
else:
# コマンドライン引数にパスワードが指定されなければ、標準入力からパスワードを取得する
login_password = ""
while login_password == "":
login_password = getpass.getpass("Enter Annofab Password: ")
return annofabapi.build(login_user_id, login_password, endpoint_url=endpoint_url)

try:
return annofabapi.build_from_netrc(endpoint_url)
except AnnofabApiException:
Expand Down
28 changes: 24 additions & 4 deletions docs/user_guide/configurations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,30 @@ Configurations

認証情報の設定
==================================================================
Annofabの認証情報を設定する方法は2つあります
Annofabの認証情報を設定する方法は3つあります

* コマンドライン引数 ``--annofab_user_id`` , ``--annofab_password``
* ``.netrc`` ファイル
* 環境変数 ``ANNOFAB_USER_ID`` , ``ANNOFAB_PASSWORD``

コマンドライン引数
----------------------------------------------------------------

コマンドライン引数 ``--annofab_user_id`` , ``--annofab_password`` で、認証情報を指定できます。

.. code-block::
$ annofabcli my_account get --annofab_user_id alice --annofab_password password
``--annofab_user_id`` のみ指定した場合は、標準入力からパスワードの入力を求められます。


.. code-block::
$ annofabcli my_account get --annofab_user_id alice
Enter Annofab Password:
.netrc ファイル
----------------------------------------------------------------
Expand Down Expand Up @@ -52,10 +71,11 @@ For Windows
優先順位
----------------------------------------------------------------
Annofabの認証情報の優先順位は以下の通りです
Annofabの認証情報の設定方法を、優先順位が高い順に並べました

* 環境変数
* .netrcファイル
1. コマンドライン引数
2. ``.netrc`` ファイル
3. 環境変数


エンドポイントURLの設定(開発者用)
Expand Down
Loading

0 comments on commit 91a652c

Please sign in to comment.