annotation_specs add_choices_to_attribute#

Description#

既存の選択肢系属性(ラジオボタン/ドロップダウン)に、選択肢を追加します。

Examples#

JSON形式の例#

choices.json#
[
    {
        "choice_name_en": "xlarge"
    },
    {
        "choice_id": "c2",
        "choice_name_en": "tiny",
        "choice_name_ja": "極小",
        "choice_name_vi": "rất nhỏ",
        "keybind": {
            "alt": false,
            "code": "Digit1",
            "ctrl": true,
            "shift": false
        }
    }
]
$ annofabcli annotation_specs add_choices_to_attribute \
 --project_id prj1 \
 --attribute_name_en type \
 --choice_json file://choices.json

CSV形式の例#

choices.csv#
choice_id,choice_name_en,choice_name_ja,choice_name_vi,keybind
,xlarge,,,
c2,tiny,極小,rất nhỏ,"{""alt"": false, ""code"": ""Digit1"", ""ctrl"": true, ""shift"": false}"
$ annofabcli annotation_specs add_choices_to_attribute \
 --project_id prj1 \
 --attribute_id 71620647-98cf-48ad-b43b-4af425a24f32 \
 --choice_csv choices.csv

選択肢情報の構造#

--choice_json と --choice_csv には、追加する選択肢情報を指定します。JSONでは配列の各要素、CSVでは各行が1件の選択肢を表します。

選択肢情報では、以下の項目を指定できます。

  • choice_name_en : 必須。選択肢名(英語)。

  • choice_name_ja : 任意。選択肢名(日本語)。

  • choice_name_vi : 任意。選択肢名(ベトナム語)。

  • choice_id : 任意。選択肢ID。未指定の場合はUUIDv4が自動生成されます。

  • keybind : 任意。選択肢に設定するキーボードショートカット。 code に指定できる値は、 KeyboardEvent.code を参照してください。

choice_id と choice_name_en は、追加先の属性に既に存在する選択肢と重複しない値を指定してください。

指定方法ごとの差分#

  • --choice_json : 追加する選択肢情報のJSON配列を指定します。 keybind にはJSONオブジェクトを指定してください。

  • --choice_csv : 追加する選択肢情報のCSVファイルを指定します。 keybind 列にはJSONオブジェクト文字列を指定してください。

追加位置の指定#

--before_choice_name_en に対象属性内の既存選択肢の英語名を指定すると、その選択肢の直前に追加します。 未指定の場合は末尾に追加します。追加する選択肢はJSON配列またはCSVの入力順を維持します。 既存選択肢同士の相対的な順序と、属性のデフォルト値は維持します。

基準選択肢は、コマンド実行前から対象属性内に存在し、対象属性内で英語名が一意である必要があります。 基準選択肢が存在しない場合や英語名が重複する場合は、更新全体をエラーにします。

$ annofabcli annotation_specs add_choices_to_attribute \
 --project_id prj1 \
 --attribute_name_en size \
 --choice_json file://choices.json \
 --before_choice_name_en large

Usage Details#

既存の選択肢系属性(ラジオボタン/ドロップダウン)に、選択肢を追加します。

usage: annofabcli annotation_specs add_choices_to_attribute
       [-h] [--yes] [--endpoint_url ENDPOINT_URL]
       [--annofab_user_id ANNOFAB_USER_ID]
       [--annofab_password ANNOFAB_PASSWORD] [--annofab_pat ANNOFAB_PAT]
       [--logdir LOGDIR] [--disable_log] [--debug] -p PROJECT_ID
       (--attribute_id ATTRIBUTE_ID | --attribute_name_en ATTRIBUTE_NAME_EN)
       (--choice_json CHOICE_JSON | --choice_csv CHOICE_CSV)
       [--before_choice_name_en BEFORE_CHOICE_NAME_EN] [--comment COMMENT]

Named Arguments#

-p, --project_id

対象のプロジェクトのproject_idを指定します。

--attribute_id

選択肢を追加する対象属性の属性ID。

--attribute_name_en

選択肢を追加する対象属性の英語名。

--choice_json

追加する選択肢情報のJSON配列を指定します。 file:// を先頭に付けるとJSON形式のファイルを指定できます。 任意で keybind を指定できます。 keybind にはJSONオブジェクトを指定してください。 (例) [{"choice_id": "xlarge", "choice_name_en": "xlarge", "choice_name_ja": "特大", "choice_name_vi": "rất lớn", "keybind": {"alt": false, "code": "Digit1", "ctrl": true, "shift": false}}, {"choice_id": "tiny", "choice_name_en": "tiny", "choice_name_ja": "極小", "choice_name_vi": "rất nhỏ"}]

--choice_csv

追加する選択肢情報のCSVファイルを指定します。 CSVには choice_name_en 列が必要です。 choice_id と choice_name_en はユニークになるように指定してください。 任意で choice_id , choice_name_ja , choice_name_vi , keybind 列を指定できます。 keybind 列にはJSONオブジェクト文字列を指定してください。 is_default 列が存在する場合は無視されます。

--before_choice_name_en

基準となる既存選択肢の英語名。対象属性内のこの選択肢の直前に入力順で追加します。対象属性内で一意な英語名の選択肢を指定してください。

--comment

アノテーション仕様の変更内容を説明するコメント。未指定の場合、自動でコメントが生成されます。

common options (after the subcommand)#

--yes

処理中に現れる問い合わせに対して、常に yes と回答します。

--endpoint_url

Annofab WebAPIのエンドポイントを指定します。

--annofab_user_id

Annofabにログインする際のユーザーID

--annofab_password

Annofabにログインする際のパスワード

--annofab_pat

Annofabにログインする際のパーソナルアクセストークン

--logdir

ログファイルを保存するディレクトリを指定します。

Default: .log

--disable_log

ログを無効にします。

--debug

HTTPリクエストの内容やレスポンスのステータスコードなど、デバッグ用のログが出力されます。