annofabapi.utils module#
- annofabapi.utils.can_put_annotation(task: dict[str, Any], my_account_id: str, *, project_member_role: ProjectMemberRole | None = None) bool[source]#
対象タスクが、put_annotation APIで、アノテーションを更新できる状態かどうか。 過去に担当者が割り当たっている場合、または現在の担当者が自分自身の場合は、アノテーションを更新できる。
- Parameters:
task – 対象タスク
my_account_id – 自分(ログインしているユーザ)のアカウントID
project_member_role – プロジェクトメンバーロール。Noneの場合、プロジェクトオーナであるとみなします。
- Returns:
Trueならば、タスクの担当者を変更せずに`put_annotation` APIを実行できる。 Falseならば、タスクの担当者を変更してから、put_annotation APIを実行する必要がある。
- annofabapi.utils.get_number_of_rejections(task_histories: list[dict[str, Any]], phase: TaskPhase, phase_stage: int = 1) int[source]#
タスク履歴から、指定されたタスクフェーズでの差し戻し回数を取得する。
- Parameters:
task_histories – 簡易的なタスク履歴。
getTaskAPIで取得したタスクのhistories_by_phaseプロパティに相当します。phase – どのフェーズで差し戻されたか(TaskPhase.INSPECTIONかTaskPhase.ACCEPTANCE)
phase_stage – どのフェーズステージで差し戻されたか。デフォルトは1。
- Returns:
差し戻し回数
- annofabapi.utils.get_task_history_index_skipped_acceptance(task_history_list: list[dict[str, Any]]) list[int][source]#
受入がスキップされたタスク履歴のインデックス番号(0始まり)を返す。
- Parameters:
task_history_list – タスク履歴List
- Returns:
受入フェーズがスキップされた履歴のインデックス番号(0始まり)。受入がスキップされていない場合は空リストを返す。