diff --git a/annoworkcli/annofab/list_job_with_annofab_project.py b/annoworkcli/annofab/list_job_with_annofab_project.py index abdd5d4..98bfca8 100644 --- a/annoworkcli/annofab/list_job_with_annofab_project.py +++ b/annoworkcli/annofab/list_job_with_annofab_project.py @@ -139,7 +139,11 @@ def main(args): main_obj = ListJobWithAnnofabProject( annowork_service=annowork_service, workspace_id=args.workspace_id, - annofab_service=build_annofabapi_resource_and_login(mfa_code=args.annofab_mfa_code), + annofab_service=build_annofabapi_resource_and_login( + annofab_login_user_id=args.annofab_user_id, + annofab_login_password=args.annofab_password, + mfa_code=args.annofab_mfa_code, + ), parallelism=args.parallelism, ) job_list = main_obj.get_job_list_added_annofab_project( @@ -212,6 +216,8 @@ def parse_args(parser: argparse.ArgumentParser): parser.add_argument("--parallelism", type=int, required=False, help="並列度。指定しない場合は、逐次的に処理します。") parser.add_argument("--annofab_mfa_code", type=str, help="Annofabにログインする際のMFAコード") + parser.add_argument("--annofab_user_id", type=str, help="Annofabにログインする際のユーザID") + parser.add_argument("--annofab_password", type=str, help="Annofabにログインする際のパスワード") parser.set_defaults(subcommand_func=main) diff --git a/annoworkcli/annofab/list_working_hours.py b/annoworkcli/annofab/list_working_hours.py index 2bdcfab..0a55221 100644 --- a/annoworkcli/annofab/list_working_hours.py +++ b/annoworkcli/annofab/list_working_hours.py @@ -439,7 +439,11 @@ def main(args): main_obj = ListWorkingHoursWithAnnofab( annowork_service=build_annoworkapi(args), workspace_id=args.workspace_id, - annofab_service=build_annofabapi_resource_and_login(mfa_code=args.annofab_mfa_code), + annofab_service=build_annofabapi_resource_and_login( + annofab_login_user_id=args.annofab_user_id, + annofab_login_password=args.annofab_password, + mfa_code=args.annofab_mfa_code, + ), parallelism=args.parallelism, ) @@ -516,6 +520,9 @@ def parse_args(parser: argparse.ArgumentParser): parser.add_argument("--parallelism", type=int, required=False, help="並列度。指定しない場合は、逐次的に処理します。") parser.add_argument("--annofab_mfa_code", type=str, help="Annofabにログインする際のMFAコード") + parser.add_argument("--annofab_user_id", type=str, help="Annofabにログインする際のユーザID") + parser.add_argument("--annofab_password", type=str, help="Annofabにログインする際のパスワード") + parser.set_defaults(subcommand_func=main) diff --git a/annoworkcli/annofab/put_account_external_linkage_info.py b/annoworkcli/annofab/put_account_external_linkage_info.py index ed29153..3d9b077 100644 --- a/annoworkcli/annofab/put_account_external_linkage_info.py +++ b/annoworkcli/annofab/put_account_external_linkage_info.py @@ -80,7 +80,13 @@ def main(self, af_workspace_name: str, user_id_list: list[str]): def main(args): annowork_service = build_annoworkapi(args) - annofab_service = build_annofabapi_resource_and_login(mfa_code=args.annofab_mfa_code) + annofab_service = ( + build_annofabapi_resource_and_login( + annofab_login_user_id=args.annofab_user_id, + annofab_login_password=args.annofab_password, + mfa_code=args.annofab_mfa_code, + ) + ) user_id_list = get_list_from_args(args.user_id) assert user_id_list is not None PutAnnofabAccountId( @@ -113,6 +119,9 @@ def parse_args(parser: argparse.ArgumentParser): help="上書きする", ) parser.add_argument("--annofab_mfa_code", type=str, help="Annofabにログインする際のMFAコード") + parser.add_argument("--annofab_user_id", type=str, help="Annofabにログインする際のユーザID") + parser.add_argument("--annofab_password", type=str, help="Annofabにログインする際のパスワード") + parser.set_defaults(subcommand_func=main) diff --git a/annoworkcli/annofab/put_job_from_annofab_project.py b/annoworkcli/annofab/put_job_from_annofab_project.py index 467e25c..40982c7 100644 --- a/annoworkcli/annofab/put_job_from_annofab_project.py +++ b/annoworkcli/annofab/put_job_from_annofab_project.py @@ -59,7 +59,11 @@ def main(args): main_obj = PutJobFromAnnofabProject( annowork_service=annowork_service, workspace_id=args.workspace_id, - annofab_service=build_annofabapi_resource_and_login(mfa_code=args.annofab_mfa_code), + annofab_service=build_annofabapi_resource_and_login( + annofab_login_user_id=args.annofab_user_id, + annofab_login_password=args.annofab_password, + mfa_code=args.annofab_mfa_code, + ), ) main_obj.put_job_from_annofab_project( parent_job_id=args.parent_job_id, annofab_project_id=args.annofab_project_id, job_id=args.job_id @@ -99,6 +103,9 @@ def parse_args(parser: argparse.ArgumentParser): help="追加するジョブのjob_idを指定してください。未指定の場合は ``--annofab_project_id`` の値と同じです。", ) parser.add_argument("--annofab_mfa_code", type=str, help="Annofabにログインする際のMFAコード") + parser.add_argument("--annofab_user_id", type=str, help="Annofabにログインする際のユーザID") + parser.add_argument("--annofab_password", type=str, help="Annofabにログインする際のパスワード") + parser.set_defaults(subcommand_func=main) diff --git a/annoworkcli/annofab/reshape_working_hours.py b/annoworkcli/annofab/reshape_working_hours.py index ffac158..d09ee67 100644 --- a/annoworkcli/annofab/reshape_working_hours.py +++ b/annoworkcli/annofab/reshape_working_hours.py @@ -1067,7 +1067,11 @@ def main(args): main_obj = ReshapeWorkingHours( annowork_service=build_annoworkapi(args), workspace_id=args.workspace_id, - annofab_service=build_annofabapi_resource_and_login(mfa_code=args.annofab_mfa_code), + annofab_service=build_annofabapi_resource_and_login( + annofab_login_user_id=args.annofab_user_id, + annofab_login_password=args.annofab_password, + mfa_code=args.annofab_mfa_code, + ), parallelism=args.parallelism, ) @@ -1233,6 +1237,9 @@ def parse_args(parser: argparse.ArgumentParser): parser.add_argument("-o", "--output", type=Path, help="出力先") parser.add_argument("--annofab_mfa_code", type=str, help="Annofabにログインする際のMFAコード") + parser.add_argument("--annofab_user_id", type=str, help="Annofabにログインする際のユーザID") + parser.add_argument("--annofab_password", type=str, help="Annofabにログインする際のパスワード") + parser.set_defaults(subcommand_func=main) diff --git a/annoworkcli/annofab/utils.py b/annoworkcli/annofab/utils.py index 6998634..3798722 100644 --- a/annoworkcli/annofab/utils.py +++ b/annoworkcli/annofab/utils.py @@ -5,7 +5,12 @@ from annofabapi.exceptions import MfaEnabledUserExecutionError as AnnofabApiMfaEnabledUserExecutionError -def build_annofabapi_resource_and_login(*, mfa_code: Optional[str] = None) -> annofabapi.Resource: +def build_annofabapi_resource_and_login( + *, + annofab_login_user_id: Optional[str] = None, + annofab_login_password: Optional[str] = None, + mfa_code: Optional[str] = None +) -> annofabapi.Resource: """ annofabapi.Resourceインスタンスを生成したあと、ログインする。 @@ -17,7 +22,7 @@ def build_annofabapi_resource_and_login(*, mfa_code: Optional[str] = None) -> an """ - service = build_annofabapi() + service = build_annofabapi(annofab_login_user_id, annofab_login_password) try: if mfa_code is not None: diff --git a/annoworkcli/annofab/visualize_statistics.py b/annoworkcli/annofab/visualize_statistics.py index 2aa48f5..47edef8 100644 --- a/annoworkcli/annofab/visualize_statistics.py +++ b/annoworkcli/annofab/visualize_statistics.py @@ -253,6 +253,8 @@ def parse_args(parser: argparse.ArgumentParser): parser.add_argument("--temp_dir", type=Path, required=False, help="テンポラリディレクトリ") parser.add_argument("--annofab_mfa_code", type=str, help="Annofabにログインする際のMFAコード") + parser.add_argument("--annofab_user_id", type=str, help="Annofabにログインする際のユーザID") + parser.add_argument("--annofab_password", type=str, help="Annofabにログインする際のパスワード") # 残りの引数は `annofabcli statistics visualize`コマンドにそのまま渡す parser.add_argument(