annofabapi.wrapper module#

class annofabapi.Wrapper(api: AnnofabApi)[source]#

AnnofabApiのラッパー.

Parameters:

api – AnnofabApi Instance

can_execute_job(project_id: str, job_type: ProjectJobType) bool[source]#

ジョブが実行できる状態か否か。他のジョブが実行中で同時に実行できない場合はFalseを返す。

Parameters:
  • project_id – プロジェクトID

  • job_type – ジョブ種別

Notes

MFAが有効でログインしていない場合、login APIでエラーが発生します。事前にログインしておく必要があります。

Returns:

ジョブが実行できる状態か否か

cancel_completed_task(project_id: str, task_id: str, operator_account_id: str | None, *, last_updated_datetime: str | None = None) Dict[str, Any][source]#

タスクの完了状態を取り消します。 このメソッドを実行すると、タスクの`status`は`not_started`になります。

Notes

phase`が`acceptance, `status`が`completed`のタスクを想定しています。 それ以外のタスクに対して実行してもエラーにはならず、`status`が`not_started`になります。

Parameters:
  • project_id – プロジェクトID

  • task_id – タスクID

  • operator_account_id – 受入完了状態を取り消した後の担当者のaccount_id

  • last_updated_datetimeoperate_task APIのリクエストボディに渡すタスクの最終更新日時。Noneなら`get_task`APIを実行して、タスクの最終更新日時を取得します。

Returns:

変更後のタスク

cancel_submitted_task(project_id: str, task_id: str, *, last_updated_datetime: str | None = None) Dict[str, Any][source]#

タスクの提出を取り消します。 「提出されたタスク」とは、以下の状態のタスクのことです。 * 教師付フェーズで「提出」ボタンを押して、検査/受入フェーズへ遷移したタスク * 検査フェーズから「合格」ボタンを押して、受入フェーズへ遷移したタスク

Notes

  • 現在タスクを担当しているユーザーのみ、この操作を行うことができます。

  • タスク提出後に検査/受入(抜取含む)等の作業が一切行われていない場合のみ、この操作を行うことができます。

  • 現在の状態が未着手(not_started)のタスクに対してのみ、この操作を行うことができます。

  • 現在のフェーズが検査(inspection)、もしくは受入(acceptance)のタスクに対してのみ、この操作を行うことができます。

Parameters:
  • project_id – プロジェクトID

  • task_id – タスクID

  • last_updated_datetimeoperate_task APIのリクエストボディに渡すタスクの最終更新日時。Noneなら`get_task`APIを実行して、タスクの最終更新日時を取得します。

Returns:

変更後のタスク

change_task_operator(project_id: str, task_id: str, operator_account_id: str | None, *, last_updated_datetime: str | None = None) Dict[str, Any][source]#

タスクの担当者を変更します。

Notes

  • プロジェクトオーナー(owner)、もしくは受入担当者(accepter)のみ、この操作を行うことができます。

Parameters:
  • project_id – プロジェクトID

  • task_id – タスクID

  • operator_account_id – 新しい担当者のaccount_id。Noneの場合は、担当者を「未割り当て」にします。

  • last_updated_datetimeoperate_task APIのリクエストボディに渡すタスクの最終更新日時。Noneなら`get_task`APIを実行して、タスクの最終更新日時を取得します。

Returns:

変更後のタスク

change_task_status_to_break(project_id: str, task_id: str, *, last_updated_datetime: str | None = None) Dict[str, Any][source]#

タスクのステータスを「休憩中」に変更します。

Notes

  • 現在タスクを担当しているユーザーのみ、この操作を行うことができます。

  • 現在の状態が作業中(working)のタスクに対してのみ、この操作を行うことができます。

Parameters:
  • project_id – プロジェクトID

  • task_id – タスクID

  • last_updated_datetimeoperate_task APIのリクエストボディに渡すタスクの最終更新日時。Noneなら`get_task`APIを実行して、タスクの最終更新日時を取得します。

Returns:

変更後のタスク

change_task_status_to_on_hold(project_id: str, task_id: str, *, last_updated_datetime: str | None = None) Dict[str, Any][source]#

タスクのステータスを「保留」に変更します。

Notes

  • 現在タスクを担当しているユーザーのみ、この操作を行うことができます。

  • 現在の状態が作業中(working)のタスクに対してのみ、この操作を行うことができます。

Parameters:
  • project_id – プロジェクトID

  • task_id – タスクID

  • last_updated_datetimeoperate_task APIのリクエストボディに渡すタスクの最終更新日時。Noneなら`get_task`APIを実行して、タスクの最終更新日時を取得します。

Returns:

変更後のタスク

change_task_status_to_working(project_id: str, task_id: str, *, last_updated_datetime: str | None = None) Dict[str, Any][source]#

タスクのステータスを「作業中」に変更します。

Notes

  • 現在タスクを担当しているユーザーのみ、この操作を行うことができます。

  • 現在の状態が未着手(not_started)、休憩中(break)、保留(on_hold)のいずれかであるタスクに対してのみ、この操作を行うことができます。

Parameters:
  • project_id – プロジェクトID

  • task_id – タスクID

  • last_updated_datetimeoperate_task APIのリクエストボディに渡すタスクの最終更新日時。Noneなら`get_task`APIを実行して、タスクの最終更新日時を取得します。

Returns:

変更後のタスク

complete_task(project_id: str, task_id: str, *, last_updated_datetime: str | None = None) Dict[str, Any][source]#

今のフェーズを完了させ、 次のフェーズに遷移させます。 教師付フェーズのときはタスクを提出します。 検査/受入フェーズのときは、タスクを合格にします。

Notes

  • 現在タスクを担当しているユーザーのみ、この操作を行うことができます。

  • 現在の状態が作業中(working)のタスクに対してのみ、この操作を行うことができます。

Parameters:
  • project_id – プロジェクトID

  • task_id – タスクID

  • last_updated_datetimeoperate_task APIのリクエストボディに渡すタスクの最終更新日時。Noneなら`get_task`APIを実行して、タスクの最終更新日時を取得します。

Returns:

変更後のタスク

copy_annotation(src: TaskFrameKey, dest: TaskFrameKey, account_id: str | None = None, annotation_specs_relation: AnnotationSpecsRelation | None = None) bool[source]#

アノテーションをコピーする。

Parameters:
  • src – コピー元のTaskFrame情報

  • dest – コピー先のTaskFrame情報

  • account_id – アノテーションを登録するユーザのアカウントID。Noneの場合、自分自身のアカウントIDで登録する。

  • annotation_specs_relation – アノテーション仕様間の紐付け情報。get_annotation_specs_relation メソッドで紐付け情報を取得できる。 Noneの場合、コピー元のアノテーション仕様のID情報(ラベルID、属性ID、選択肢ID)を変換せずに、アノテーションをコピーします。

Returns:

アノテーションのコピー実施したかどうか

delete_all_succeeded_job(project_id: str, job_type: ProjectJobType) List[Dict[str, Any]][source]#

成功したジョブをすべて削除する

Parameters:
  • project_id – プロジェクトID

  • job_type – ジョブ種別

Returns:

削除したジョブの一覧

download(url: str, dest_path: str | Path, *, chunk_size: int = 524288000, logger_prefix: str = '') None[source]#

指定したURLからファイルをダウンロードします。

Parameters:
  • url – ダウンロード対象のURL

  • dest_path – 保存先ファイルのパス

  • chunk_size – メモリに読み込むバイト数

  • logger_prefix – ログメッセージのプレフィックス

download_annotation_archive(project_id: str, dest_path: str | Path) str[source]#

simpleアノテーションZIPをダウンロードする。

Parameters:
  • project_id – プロジェクトID

  • dest_path – ダウンロード先のファイルパス

Returns:

ダウンロード元のURL

download_full_annotation_archive(project_id: str, dest_path: str | Path) str[source]#

FullアノテーションZIPをダウンロードする。

Deprecated since version X.

Parameters:
  • project_id – プロジェクトID

  • dest_path – ダウンロード先のファイルパス

Returns:

ダウンロード元のURL

download_project_comments_url(project_id: str, dest_path: str | Path) str[source]#

プロジェクトのコメント全件ファイルをダウンロードする。

Parameters:
  • project_id – プロジェクトID

  • dest_path – ダウンロード先ファイルのパス

Returns:

ダウンロード元のURL

download_project_inputs_url(project_id: str, dest_path: str | Path) str[source]#

プロジェクトの入力データ全件ファイルをダウンロードする。 ファイルの中身はJSON。

Parameters:
  • project_id – プロジェクトID

  • dest_path – ダウンロード先ファイルのパス

Returns:

ダウンロード元のURL

download_project_inspections_url(project_id: str, dest_path: str | Path) str[source]#

プロジェクトの検査コメント全件ファイルをダウンロードする。 ファイルの中身はJSON。

Deprecated since version 2022-08-23以降に廃止する予定です。検査コメントに関するWebAPIが廃止されるためです。.

Parameters:
  • project_id – プロジェクトID

  • dest_path – ダウンロード先ファイルのパス

Returns:

ダウンロード元のURL

download_project_task_histories_url(project_id: str, dest_path: str | Path) str[source]#

プロジェクトのタスク履歴全件ファイルをダウンロードする。 ファイルの中身はJSON。

Parameters:
  • project_id – プロジェクトID

  • dest_path – ダウンロード先ファイルのパス

Returns:

ダウンロード元のURL

download_project_task_history_events_url(project_id: str, dest_path: str | Path) str[source]#

プロジェクトのタスク履歴イベント全件ファイルをダウンロードする。 ファイルの中身はJSON。

Parameters:
  • project_id – プロジェクトID

  • dest_path – ダウンロード先ファイルのパス

Returns:

ダウンロード元のURL

download_project_tasks_url(project_id: str, dest_path: str | Path) str[source]#

プロジェクトのタスク全件ファイルをダウンロードする。 ファイルの中身はJSON。

Parameters:
  • project_id – プロジェクトID

  • dest_path – ダウンロード先ファイルのパス

Returns:

ダウンロード元のURL

execute_http_get(url: str) Response[source]#

指定したURLに対してHTTP GETを実行します。

塗りつぶし画像など外部リソースのURLを指定することを想定しています。

Parameters:

url – HTTP GETでアクセスするURL

Returns:

URLにアクセスしたときの requests.Response 情報

Note

requests.get でアクセスすることとの違いは以下の通りです。

  • requests.Session 情報を使ってTCPコネクションを再利用しているため、requests.get を使ってダウンロードするよりも、パフォーマンスが向上する可能性があります。

  • 必要に応じてリトライします

  • HTTPステータスコードが4XX,5XXならば、HTTPErrorがスローされます

get_account_daily_statistics(project_id: str, *, from_date: str | None = None, to_date: str | None = None) List[Dict[str, Any]][source]#

指定した期間の ユーザ別タスク集計データ を取得します。

Parameters:
  • project_id – プロジェクトID

  • from_date (Optional[str]) – 取得する統計の区間の開始日(YYYY-MM-DD)。Noneの場合は、プロジェクト作成日を開始日とみなします。

  • to_date (Optional[str]) – 取得する統計の区間の終了日(YYYY-MM-DD)。Noneの場合は、今日の日付を終了日とみなします。

Returns:

ユーザ別タスク集計データ

get_all_annotation_list(project_id: str, query_params: Dict[str, Any] | None = None) List[Dict[str, Any]][source]#

すべてのアノテーション情報を取得する。

Parameters:
  • project_id – プロジェクトID

  • query_paramsapi.get_annotation_list メソッドのQuery Parameter

Returns:l

すべてのアノテーション一覧

get_all_input_data_list(project_id: str, query_params: Dict[str, Any] | None = None) List[Dict[str, Any]][source]#

すべての入力データを取得する。

Parameters:
  • project_id – プロジェクトID

  • query_paramsapi.get_input_data_list メソッドのQuery Parameter

Returns:

入力データ一覧

get_all_my_organizations() List[Dict[str, Any]][source]#

所属しているすべての組織一覧を取得する

Returns:

すべての所属一覧

get_all_organization_members(organization_name: str) List[Dict[str, Any]][source]#

すべての組織メンバ一覧を取得する

Parameters:

organization_name – 組織名

Returns:

すべての組織メンバ一覧

get_all_project_job(project_id: str, query_params: Dict[str, Any] | None = None) List[Dict[str, Any]][source]#

すべてのバックグランドジョブを取得する。

Parameters:
  • project_id – プロジェクトID

  • query_paramsapi.get_project_job メソッドに渡すQuery Parameter

Returns:

すべてのバックグランドジョブ一覧

get_all_project_members(project_id: str, query_params: Dict[str, Any] | None = None) List[Dict[str, Any]][source]#

すべてのプロジェクトメンバを取得する.

Parameters:
  • project_id – プロジェクトID

  • query_paramsapi.get_project_members メソッドのQuery Parameter

Returns:

すべてのプロジェクトメンバ一覧

get_all_projects_of_organization(organization_name: str, query_params: Dict[str, Any] | None = None) List[Dict[str, Any]][source]#

組織配下のすべてのプロジェクト一覧を取得する

Parameters:
  • organization_name – 組織名

  • query_paramsapi.get_projects_of_organization メソッドに渡すQuery Parameter

Returns:

すべてのプロジェクト一覧

get_all_tasks(project_id: str, query_params: Dict[str, Any] | None = None) List[Dict[str, Any]][source]#

すべてのタスクを取得する。

Parameters:
  • project_id – プロジェクトID

  • query_paramsapi.get_tasks メソッドに渡すQuery Parameter

Returns:

すべてのタスク一覧

get_annotation_specs_relation(src_project_id: str, dest_project_id: str) AnnotationSpecsRelation[source]#

プロジェクト間のアノテーション仕様の紐付け情報を取得する。 ラベル、属性、選択肢の英語名で紐付ける。 ただし、属性は、参照されるラベルが一致していることも判定する。 紐付け先がない場合は無視する。

Parameters:
  • src_project_id – 紐付け元のプロジェクトID

  • dest_project_id – 紐付け先のプロジェクトID

Returns:

アノテーション仕様の紐付け情報

get_editor_annotation_or_none(project_id: str, task_id: str, input_data_id: str, *, query_params: Dict[str, Any] | None = None) Dict[str, Any] | None[source]#

アノテーションを取得する。 存在しない場合(HTTP 404 Error)はNoneを返します。

Parameters:
  • project_id – プロジェクトID

  • task_id – タスクID

  • input_data_id – 入力データID

Returns:

アノテーション

get_input_data_or_none(project_id: str, input_data_id: str) Dict[str, Any] | None[source]#

入力データを取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters:
  • project_id

  • input_data_id

Returns:

入力データ

get_inspection_daily_statistics(project_id: str, *, from_date: str | None = None, to_date: str | None = None) List[Dict[str, Any]][source]#

指定した期間の 検査コメント集計データ を取得します。

Parameters:
  • project_id – プロジェクトID

  • from_date (Optional[str]) – 取得する統計の区間の開始日(YYYY-MM-DD)。Noneの場合は、プロジェクト作成日を開始日とみなします。

  • to_date (Optional[str]) – 取得する統計の区間の終了日(YYYY-MM-DD)。Noneの場合は、今日の日付を終了日とみなします。

Returns:

検査コメント集計データ

get_label_statistics(project_id: str) List[Any][source]#

getLabelStatistics APIのLocation headerの中身を返す。

Parameters:

project_id

Returns:

get_latest_instruction(project_id: str) Dict[str, Any] | None[source]#

最新の作業ガイドの取得.

Parameters:

project_id – プロジェクトID

Returns:

作業ガイド情報。作業ガイドが登録されいてない場合はNone。

get_organization_member_or_none(organization_name: str, user_id: str) Dict[str, Any] | None[source]#

組織メンバを取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters:
  • organization_name – 組織名

  • user_id

Returns:

組織メンバ

get_organization_or_none(organization_name: str) Dict[str, Any] | None[source]#

組織情報を取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters:

organization_name – 組織名

Returns:

組織情報

get_phase_daily_statistics(project_id: str, *, from_date: str | None = None, to_date: str | None = None) List[Dict[str, Any]][source]#

指定した期間の フェーズ別タスク集計データ を取得します。

Parameters:
  • project_id – プロジェクトID

  • from_date (Optional[str]) – 取得する統計の区間の開始日(YYYY-MM-DD)。Noneの場合は、プロジェクト作成日を開始日とみなします。

  • to_date (Optional[str]) – 取得する統計の区間の終了日(YYYY-MM-DD)。Noneの場合は、今日の日付を終了日とみなします。

Returns:

フェーズ別タスク集計データ

get_project_member_or_none(project_id: str, user_id: str) Dict[str, Any] | None[source]#

プロジェクトメンバを取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters:
  • project_id

  • user_id

Returns:

プロジェクトメンバ

get_project_or_none(project_id: str) Dict[str, Any] | None[source]#

プロジェクトを取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters:

project_id

Returns:

プロジェクト

get_supplementary_data_list_or_none(project_id: str, input_data_id: str) List[Dict[str, Any]] | None[source]#

補助情報一覧を取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters:
  • project_id

  • input_data_id

Returns:

補助情報一覧

get_task_daily_statistics(project_id: str, *, from_date: str | None = None, to_date: str | None = None) List[Dict[str, Any]][source]#

指定した期間の タスク集計データ を取得します。

Parameters:
  • project_id – プロジェクトID

  • from_date (Optional[str]) – 取得する統計の区間の開始日(YYYY-MM-DD)。Noneの場合は、プロジェクト作成日を開始日とみなします。

  • to_date (Optional[str]) – 取得する統計の区間の終了日(YYYY-MM-DD)。Noneの場合は、今日の日付を終了日とみなします。

Returns:

タスク集計データ

get_task_histories_or_none(project_id: str, task_id: str) List[Dict[str, Any]] | None[source]#

タスク履歴一覧を取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters:
  • project_id

  • task_id

Returns:

タスク履歴一覧

get_task_or_none(project_id: str, task_id: str) Dict[str, Any] | None[source]#

タスクを取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters:
  • project_id

  • task_id

Returns:

タスク

get_worktime_daily_statistics(project_id: str, *, from_date: str | None = None, to_date: str | None = None) Dict[str, Any][source]#

プロジェクト全体のタスク作業時間集計データを取得します。

Parameters:
  • project_id – プロジェクトID

  • from_date (Optional[str]) – 取得する統計の区間の開始日(YYYY-MM-DD)。Noneの場合は、プロジェクト作成日を開始日とみなします。

  • to_date (Optional[str]) – 取得する統計の区間の終了日(YYYY-MM-DD)。Noneの場合は、今日の日付を終了日とみなします。

Returns:

プロジェクト全体のタスク作業時間集計データ

get_worktime_daily_statistics_by_account(project_id: str, account_id: str, *, from_date: str | None = None, to_date: str | None = None) Dict[str, Any][source]#

指定したプロジェクトメンバーのタスク作業時間集計データを取得します。

Parameters:
  • project_id – プロジェクトID

  • account_id – アカウントID

  • from_date (Optional[str]) – 取得する統計の区間の開始日(YYYY-MM-DD)。Noneの場合は、プロジェクト作成日を開始日とみなします。

  • to_date (Optional[str]) – 取得する統計の区間の終了日(YYYY-MM-DD)。Noneの場合は、今日の日付を終了日とみなします。

Returns:

プロジェクトメンバーのタスク作業時間集計データ

initiate_tasks_generation_by_csv(project_id: str, csvfile_path: str) Dict[str, Any][source]#

タスクID,入力データ名,入力データID」を1行毎に指定したCSVを使って、タスクを生成する

Parameters:
  • project_id – プロジェクトID

  • csvfile_path – CSVファイルのパス

Returns:

initiate_tasks_generation APIのContent

job_in_progress(project_id: str, job_type: ProjectJobType) bool[source]#

ジョブが進行中かどうか

Parameters:
  • project_id – プロジェクトID

  • job_type – ジョブ種別

Returns:

ジョブが進行中かどうか

put_annotation_for_simple_annotation_json(project_id: str, task_id: str, input_data_id: str, simple_annotation_json: str, annotation_specs_labels: List[Dict[str, Any]], annotation_specs_additionals: List[Dict[str, Any]] | None = None) bool[source]#

Annofabからダウンロードしたアノテーションzip配下のJSONと同じフォーマット(Simple Annotation)の内容から、アノテーションを登録する。

Parameters:
  • project_id

  • task_id

  • input_data_id

  • simple_annotation_json – Annofabからダウンロードしたアノテーションzip配下のJSONのパス

  • annotation_specs_labels – アノテーション仕様のラベル情報。annotation_specs_additionalsが指定されている場合はV2版、指定されない場合はV1版。

  • annotation_specs_additionals – アノテーション仕様の属性情報(V2版)

Returns:

アノテーション情報をした。False: 登録するアノテーション情報がなかったため、登録しなかった。

Return type:

True

Notes

2021/07以降、引数annotation_specs_labelsはV1版をサポートしなくなる予定です。

put_input_data_from_file(project_id: str, input_data_id: str, file_path: str, request_body: Dict[str, Any] | None = None, content_type: str | None = None) Dict[str, Any][source]#

ファイル(画像データ、動画データ、 zipファイル)を入力データとして登録する。

Parameters:
  • project_id – プロジェクトID

  • input_data_id – 入力データID

  • file_path – アップロードするファイルのパス

  • request_bodyput_input_data に渡すrequest body. Keyに`input_data_name` がなければ、ファイルパスが設定される。

  • content_type – アップロードするファイルのMIME Type. Noneの場合、ファイルパスから推測する。

Returns:

put_input_data のcontent

put_supplementary_data_from_file(project_id: str, input_data_id: str, supplementary_data_id: str, file_path: str, request_body: Dict[str, Any], content_type: str | None = None) Dict[str, Any][source]#

補助情報ファイルをアップロードする

Parameters:
  • project_id – プロジェクトID

  • input_data_id – 入力データID

  • supplementary_data_id – 補助情報ID

  • file_path – アップロードするファイル(text , image)

  • request_bodyput_supplementary_data に渡すRequest Body. supplementary_data_name , supplementary_data_type は指定されていなければ、ファイルパスから取得した情報が設定される。

  • content_type – アップロードするファイルのMIME Type. Noneの場合、ファイルパスから推測する。

Returns:

put_supplementary_data のレスポンス

reject_task(project_id: str, task_id: str, *, force: bool = False, last_updated_datetime: str | None = None) Dict[str, Any][source]#

タスクを差し戻します。 このメソッドを実行すると、`phase`は`annotation`になります。

Notes

  • 通常の差し戻しの場合(force=False)
    • 現在タスクを担当しているユーザーのみ、この操作を行うことができます。

    • 現在の状態が作業中(working)のタスクに対してのみ、この操作を行うことができます。

  • 強制差し戻しの場合(force=True)
    • タスクの状態・フェーズを無視して、フェーズを教師付け(annotation)に、状態を未作業(not started)に変更します。

    • この差戻しは、抜取検査・抜取受入のスキップ判定に影響を及ぼしません。

Parameters:
  • project_id – プロジェクトID

  • task_id – タスクID

  • force – Trueなら強制差し戻し、Falseなら通常の差し戻しを実施する

  • last_updated_datetimeoperate_task APIのリクエストボディに渡すタスクの最終更新日時。Noneなら`get_task`APIを実行して、タスクの最終更新日時を取得します。

Returns:

変更後のタスク

upload_data_as_instruction_image(project_id: str, image_id: str, data: Any, content_type: str) str[source]#

data を作業ガイドの画像としてアップロードする。

Parameters:
  • project_id – プロジェクトID

  • image_id – 作業ガイド画像ID

  • data – アップロード対象のdata. requests.put メソッドの data 引数にそのまま渡す。

  • content_type – アップロードするファイルのMIME Type.

Returns:

一時データ保存先であるS3パス

upload_data_to_s3(project_id: str, data: Any, content_type: str) str[source]#

createTempPath APIを使ってアップロード用のURLとS3パスを取得して、”data” をアップロードする。

Parameters:
  • project_id – プロジェクトID

  • data – アップロード対象のdata. open(mode="b") 関数の戻り値、またはバイナリ型の値です。 requests.put メソッドの data 引数にそのまま渡します。

  • content_type – アップロードするfile objectのMIME Type.

Returns:

一時データ保存先であるS3パス

Raises:

CheckSumError – アップロードしたデータのMD5ハッシュ値が、S3にアップロードしたときのレスポンスのETagと一致しない

upload_file_to_s3(project_id: str, file_path: str, content_type: str | None = None) str[source]#

createTempPath APIを使ってアップロード用のURLとS3パスを取得して、ファイルをアップロードする。

Parameters:
  • project_id – プロジェクトID

  • file_path – アップロードするファイルのパス

  • content_type – アップロードするファイルのMIME Type. Noneの場合、ファイルパスから推測する。

Returns:

一時データ保存先であるS3パス

Raises:

CheckSumError – アップロードしたファイルのMD5ハッシュ値が、S3にアップロードしたときのレスポンスのETagと一致しない

upload_instruction_image(project_id: str, image_id: str, file_path: str, content_type: str | None = None) str[source]#

作業ガイドの画像をアップロードする。

Parameters:
  • project_id – プロジェクトID

  • image_id – 作業ガイド画像ID

  • file_path – アップロードするファイル

  • content_type – アップロードするファイルのMIME Type. Noneの場合、ファイルパスから推測する。

Returns:

一時データ保存先であるS3パス

wait_for_completion(project_id: str, job_type: ProjectJobType, job_access_interval: int = 60, max_job_access: int = 10) bool[source]#

ジョブが完了するまで待つ。

Parameters:
  • project_id – プロジェクトID

  • job_type – 取得するジョブ種別

  • job_access_interval – ジョブにアクセスする間隔[sec]

  • max_job_access – ジョブに最大何回アクセスするか

Returns:

Trueならば、ジョブが成功した or 実行中のジョブがない。 Falseならば、ジョブが失敗 or max_job_access 回アクセスしても、ジョブが完了しなかった。

wait_until_job_finished(project_id: str, job_type: ProjectJobType, job_id: str | None = None, job_access_interval: int = 60, max_job_access: int = 360) JobStatus | None[source]#

指定したジョブが終了するまで待つ。

Parameters:
  • project_id – プロジェクトID

  • job_type – 取得するジョブ種別

  • job_access_interval – ジョブにアクセスする間隔[sec]

  • max_job_access – ジョブに最大何回アクセスするか

  • job_id – ジョブID。Noneの場合は、現在進行中のジョブが終了するまで待つ。

Returns:

指定した時間(アクセス頻度と回数)待った後のジョブのステータスを返す。 指定したジョブ(job_idがNoneの場合は現在進行中のジョブ)が存在しない場合は、Noneを返す。

wait_until_job_is_executable(project_id: str, job_type: ProjectJobType, job_access_interval: int = 60, max_job_access: int = 360) bool[source]#

ジョブが実行可能な状態になるまで待ちます。他のジョブが実行されているときは、他のジョブが終了するまで待ちます。

Parameters:
  • project_id – プロジェクトID

  • job_type – ジョブ種別

  • job_access_interval – ジョブにアクセスする間隔[sec]

  • max_job_access – ジョブに最大何回アクセスするか

Returns:

指定した時間(アクセス頻度と回数)待った後、ジョブが実行可能な状態かどうか。進行中のジョブが存在する場合は、ジョブが実行不可能。

Notes

MFAが有効でログインしていない場合、login APIでエラーが発生します。事前にログインしておく必要があります。