annofabcli 1.98.0__py3-none-any.whl → 1.99.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
annofabcli/__version__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "1.98.0" # `poetry-dynamic-versioning`を使ってGitHubのバージョンタグを取得している。変更不要
1
+ __version__ = "1.99.0" # `poetry-dynamic-versioning`を使ってGitHubのバージョンタグを取得している。変更不要
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import argparse
4
4
  import logging
5
+ import sys
5
6
  from dataclasses import dataclass
6
7
  from typing import Any, Optional
7
8
 
@@ -10,6 +11,7 @@ import annofabapi
10
11
  import annofabcli
11
12
  import annofabcli.common.cli
12
13
  from annofabcli.common.cli import (
14
+ COMMAND_LINE_ERROR_STATUS_CODE,
13
15
  ArgumentParser,
14
16
  CommandLine,
15
17
  CommandLineWithConfirm,
@@ -100,6 +102,9 @@ class PutLabelColor(CommandLine):
100
102
  args = self.args
101
103
  label_color = get_json_from_args(args.json)
102
104
 
105
+ if not isinstance(label_color, dict):
106
+ print("annofabcli annotation_specs put_label_color: error: JSON形式が不正です。オブジェクトを指定してください。", file=sys.stderr) # noqa: T201
107
+ sys.exit(COMMAND_LINE_ERROR_STATUS_CODE)
103
108
  main_obj = PuttingLabelColorMain(service=self.service, project_id=args.project_id, all_yes=args.yes)
104
109
  main_obj.main(label_color, comment=args.comment)
105
110
 
@@ -225,6 +225,9 @@ class DeleteComment(CommandLine):
225
225
  super().validate_project(args.project_id, [ProjectMemberRole.ACCEPTER, ProjectMemberRole.OWNER])
226
226
 
227
227
  dict_comments = annofabcli.common.cli.get_json_from_args(args.json)
228
+ if not isinstance(dict_comments, dict):
229
+ print(f"{self.COMMON_MESSAGE} argument --json: JSON形式が不正です。オブジェクトを指定してください。", file=sys.stderr) # noqa: T201
230
+ sys.exit(COMMAND_LINE_ERROR_STATUS_CODE)
228
231
  main_obj = DeleteCommentMain(self.service, project_id=args.project_id, all_yes=self.all_yes)
229
232
  main_obj.delete_comments_for_task_list(
230
233
  comment_ids_for_task_list=dict_comments,
@@ -44,6 +44,9 @@ class PutInspectionComment(CommandLine):
44
44
  super().validate_project(args.project_id, [ProjectMemberRole.ACCEPTER, ProjectMemberRole.OWNER])
45
45
 
46
46
  dict_comments = annofabcli.common.cli.get_json_from_args(args.json)
47
+ if not isinstance(dict_comments, dict):
48
+ print(f"{self.COMMON_MESSAGE} argument --json: JSON形式が不正です。オブジェクトを指定してください。", file=sys.stderr) # noqa: T201
49
+ sys.exit(COMMAND_LINE_ERROR_STATUS_CODE)
47
50
  comments_for_task_list = convert_cli_comments(dict_comments, comment_type=CommentType.INSPECTION)
48
51
  main_obj = PutCommentMain(self.service, project_id=args.project_id, comment_type=CommentType.INSPECTION, all_yes=self.all_yes)
49
52
  main_obj.add_comments_for_task_list(
@@ -42,6 +42,9 @@ class PutInspectionComment(CommandLine):
42
42
  super().validate_project(args.project_id)
43
43
 
44
44
  dict_comments = annofabcli.common.cli.get_json_from_args(args.json)
45
+ if not isinstance(dict_comments, dict):
46
+ print(f"{self.COMMON_MESSAGE} argument --json: JSON形式が不正です。オブジェクトを指定してください。", file=sys.stderr) # noqa: T201
47
+ sys.exit(COMMAND_LINE_ERROR_STATUS_CODE)
45
48
  comments_for_task_list = convert_cli_comments(
46
49
  dict_comments,
47
50
  comment_type=CommentType.ONHOLD,
@@ -177,7 +177,10 @@ class ChangeInputDataName(CommandLine):
177
177
  changed_input_data_list = create_changed_input_data_list_from_csv(args.csv)
178
178
 
179
179
  elif args.json is not None:
180
- input_data_dict_list: list[dict[str, str]] = get_json_from_args(args.json)
180
+ input_data_dict_list = get_json_from_args(args.json)
181
+ if not isinstance(input_data_dict_list, list):
182
+ print("annofabcli input_data change_name: error: JSON形式が不正です。オブジェクトの配列を指定してください。", file=sys.stderr) # noqa: T201
183
+ sys.exit(COMMAND_LINE_ERROR_STATUS_CODE)
181
184
  changed_input_data_list = create_changed_input_data_list_from_dict(input_data_dict_list)
182
185
  else:
183
186
  raise RuntimeError("'--csv'または'--json'のいずれかを指定してください。")
@@ -356,6 +356,10 @@ class PutInputData(CommandLine):
356
356
 
357
357
  elif args.json is not None:
358
358
  input_data_dict_list = get_json_from_args(args.json)
359
+ if not isinstance(input_data_dict_list, list):
360
+ print(f"{self.COMMON_MESSAGE} argument --json: JSON形式が不正です。オブジェクトの配列を指定してください。", file=sys.stderr) # noqa: T201
361
+ sys.exit(COMMAND_LINE_ERROR_STATUS_CODE)
362
+
359
363
  input_data_list = self.get_input_data_list_from_dict(input_data_dict_list, allow_duplicated_input_data=args.allow_duplicated_input_data)
360
364
  self.put_input_data_list(project_id, input_data_list=input_data_list, overwrite=args.overwrite, parallelism=args.parallelism)
361
365