Skip to content

Commit b7e96ab

Browse files
authored
Annofab v0.120.0対応 (#351)
* update devcontainer * upadte swagger * update test
1 parent 2ad49c4 commit b7e96ab

File tree

8 files changed

+711
-21
lines changed

8 files changed

+711
-21
lines changed

.devcontainer/devcontainer.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,13 @@
1212
"remoteUser": "vscode",
1313
"updateRemoteUserUID": true,
1414
"overrideCommand": false,
15+
// 事前にマウントするディレクトリを作成する
16+
"initializeCommand": "mkdir -p ${localWorkspaceFolder}/.devcontainer/venv",
1517
"mounts": [
1618
"source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind",
17-
"source=${localWorkspaceFolder}/.devcontainer/.extensions,target=/home/vscode/.vscode-server/extensions,type=bind"
19+
"source=${localWorkspaceFolder}/.devcontainer/.extensions,target=/home/vscode/.vscode-server/extensions,type=bind",
20+
//ホスト側のvenvとコンテナ側のvenvを分離して、ホスト側でもpoetryコマンドを実行できるようにする
21+
"source=${localWorkspaceFolder}/.devcontainer/venv,target=${containerWorkspaceFolder}/.venv,type=bind"
1822
],
1923
"forwardPorts": [],
2024
"runArgs": [

annofabapi/dataclass/my.py

+3
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ class MyAccount(DataClassJsonMixin):
7878
authority: AccountAuthority
7979
""""""
8080

81+
is_external_account: bool
82+
"""[外部アカウント連携](/docs/faq/#mpl0n7)済みのアカウントである場合true """
83+
8184
updated_datetime: Optional[str]
8285
""""""
8386

annofabapi/generated_api.py

+67-4
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ def get_annotation_archive(self, project_id: str, **kwargs) -> Tuple[Any, reques
340340
authorizations: ProjectDataUser
341341
342342
343-
プロジェクト内のアノテーション(Simple版)がまとめられたZIPを取得するための、認証済み一時URLを取得します。 取得したURLは1時間で失効し、アクセスできなくなります。 SimpleアノテーションZIPのデータ構造については、 [Simple Annotation ZIP](#section/Simple-Annotation-ZIP) を参照ください。 なお、特定のタスクのSimpleアノテーションを取得したい場合には、 [getAnnotation](#operation/getAnnotation) APIを使用することもできます。
343+
プロジェクト内のアノテーション(Simple版)がまとめられたZIPを取得するための、認証済み一時URLを取得します。 取得したURLは1時間で失効し、アクセスできなくなります。 アノテーションZIPを更新中の場合は409エラーになります。 SimpleアノテーションZIPのデータ構造については、 [Simple Annotation ZIP](#section/Simple-Annotation-ZIP) を参照ください。 なお、特定のタスクのSimpleアノテーションを取得したい場合には、 [getAnnotation](#operation/getAnnotation) APIを使用することもできます。
344344
345345
Args:
346346
project_id (str): プロジェクトID (required)
@@ -396,7 +396,7 @@ def get_archive_full_with_pro_id(self, project_id: str, **kwargs) -> Tuple[Any,
396396
authorizations: ProjectDataUser
397397
398398
399-
プロジェクト内のアノテーション(Full版)がまとめられたZIPを取得するための、認証済み一時URLを取得します。 取得したURLは1時間で失効し、アクセスできなくなります。 FullアノテーションZIPのデータ構造については、 [Full Annotation ZIP](#section/Full-Annotation-ZIP) を参照ください。
399+
プロジェクト内のアノテーション(Full版)がまとめられたZIPを取得するための、認証済み一時URLを取得します。 取得したURLは1時間で失効し、アクセスできなくなります。 アノテーションZIPを更新中の場合は409エラーになります。 FullアノテーションZIPのデータ構造については、 [Full Annotation ZIP](#section/Full-Annotation-ZIP) を参照ください。
400400
401401
Args:
402402
project_id (str): プロジェクトID (required)
@@ -475,7 +475,7 @@ def put_annotation(
475475
authorizations: AllProjectMember
476476
477477
478-
「過去に誰にも割り当てられていないタスクに含まれる入力データ」に限り、プロジェクトオーナーであればアノテーションを更新できます。 この挙動は、[AnnoFab外部で作成されたアノテーションをインポート](/docs/tutorial/tutorial-ex-importing-annotation.html) する目的にも利用できます。 1度でも誰かに割り当てられたタスクは、タスクの現在の担当者であればアノテーションを更新できます。 タスクの現在の担当者でない場合、エラーになります。 この制限は、アノテーション作業中の予期せぬ同時編集を防ぐためです。 `is_protected`(保護) を `true` にすることで、アノテーションをアノテーションエディタ上での変形・削除から保護できます。 属性の変更もさせたくない場合は、アノテーション仕様で特定の属性を読取専用にすることで保護できます。保護は、 * 外部からインポートしたアノテーション * 別プロジェクトからコピーしたアノテーション などを誤って削除したくないときに便利です。 `is_protected`は、プロジェクトオーナーのみ変更可能です。 なお、本APIでは `is_protected` によらず、変形・更新や削除が可能です。
478+
「過去に誰にも割り当てられていないタスクに含まれる入力データ」に限り、プロジェクトオーナーであればアノテーションを更新できます。 この挙動は、[AnnoFab外部で作成されたアノテーションをインポート](/docs/tutorial/tutorial-ex-importing-annotation.html) する目的にも利用できます。 1度でも誰かに割り当てられたタスクは、タスクの現在の担当者であればアノテーションを更新できます。 タスクの現在の担当者でない場合、エラーになります。 この制限は、アノテーション作業中の予期せぬ同時編集を防ぐためです。 `is_protected`(保護) を `true` にすることで、アノテーションをアノテーションエディタ上での削除から保護できます。 属性の変更もさせたくない場合は、アノテーション仕様で特定の属性を読取専用にすることで保護できます。保護は、 * 外部からインポートしたアノテーション * 別プロジェクトからコピーしたアノテーション などを誤って削除したくないときに便利です。 `is_protected`は、プロジェクトオーナーのみ変更可能です。 なお、本APIでは `is_protected` によらず、更新や削除が可能です。
479479
480480
Args:
481481
project_id (str): プロジェクトID (required)
@@ -583,6 +583,69 @@ def put_annotation_specs(
583583
}
584584
return self._request_wrapper(http_method, url_path, **keyword_params)
585585

586+
#########################################
587+
# Public Method : AfCommentApi
588+
# NOTE: This method is auto generated by OpenAPI Generator
589+
#########################################
590+
591+
def batch_update_comments(
592+
self, project_id: str, task_id: str, input_data_id: str, request_body: Optional[Any] = None, **kwargs
593+
) -> Tuple[Any, requests.Response]:
594+
"""コメント一括更新
595+
https://annofab.com/docs/api/#operation/batchUpdateComments
596+
597+
598+
authorizations: AllProjectMember
599+
600+
601+
コメントを一括更新します。 タスクの現在の担当者でない場合、またはタスクの状態が「作業中」でない場合は409エラーになります。 リクエストボディは、1個以上の「操作」オブジェクトを含むJSON配列になります。 操作オブジェクトには、「更新(作成含む)」と「削除」の2通りがあり、それぞれJSONオブジェクト構造が異なります。 これら操作オブジェクトを複数含めることで、1リクエストで複数の更新や削除ができます。 既に作成済みのコメントのうち、リクエストボディの配列に含まれないものは更新されません。 複数の操作のうち、1つでも失敗するとAPIのレスポンス全体としては失敗になります。 成功した部分までは反映されます。 **このAPIでは検査コメントのデータは更新できません(今後対応予定)。**
602+
603+
Args:
604+
project_id (str): プロジェクトID (required)
605+
task_id (str): タスクID (required)
606+
input_data_id (str): 入力データID (required)
607+
request_body (Any): Request Body
608+
batch_comment_request_item (List[BatchCommentRequestItem]): (required)
609+
610+
Returns:
611+
Tuple[List[Comment], requests.Response]
612+
613+
614+
"""
615+
url_path = f"/projects/{project_id}/tasks/{task_id}/inputs/{input_data_id}/comments"
616+
http_method = "POST"
617+
keyword_params: Dict[str, Any] = {
618+
"request_body": request_body,
619+
}
620+
return self._request_wrapper(http_method, url_path, **keyword_params)
621+
622+
def get_comments(
623+
self, project_id: str, task_id: str, input_data_id: str, **kwargs
624+
) -> Tuple[Any, requests.Response]:
625+
"""コメント一括取得
626+
https://annofab.com/docs/api/#operation/getComments
627+
628+
629+
authorizations: AllProjectMember
630+
631+
632+
指定されたタスクで、指定された入力データにつけられたコメントをすべて取得します。 **このAPIでは検査コメントのデータは取得できません(今後対応予定)。**
633+
634+
Args:
635+
project_id (str): プロジェクトID (required)
636+
task_id (str): タスクID (required)
637+
input_data_id (str): 入力データID (required)
638+
639+
Returns:
640+
Tuple[List[Comment], requests.Response]
641+
642+
643+
"""
644+
url_path = f"/projects/{project_id}/tasks/{task_id}/inputs/{input_data_id}/comments"
645+
http_method = "GET"
646+
keyword_params: Dict[str, Any] = {}
647+
return self._request_wrapper(http_method, url_path, **keyword_params)
648+
586649
#########################################
587650
# Public Method : AfInputApi
588651
# NOTE: This method is auto generated by OpenAPI Generator
@@ -740,7 +803,7 @@ def put_input_data(
740803
authorizations: ProjectOwner
741804
742805
743-
入力データ(画像プロジェクトなら画像、動画プロジェクトなら動画や時系列データ)を登録します。 ファイルの登録には、[アップロード用一時データ保存先作成API](#operation/createTempPath) を組み合わせて使用します。 ## ZIPでまとめてアップロード 画像プロジェクトの場合、複数の画像ファイルをZIPでまとめてアップロードできます。ZIPは最大5GB、UTF-8エンコーディングのみ対応しています。<br> アノテーション作業生産性を高めるため、画像は「長辺4096px以内」かつ「4MB以内」になるよう縮小されます。<br> 作成されるアノテーションは、元の解像度でつけた場合相当に自動で復元されます。 動画プロジェクトの場合、複数の動画ファイルをZIPでまとめてアップロードできます。ZIPは最大5GB、UTF-8エンコーディングのみ対応しています。<br> また、複数のストリーミング形式の動画をアップロードすることもできます。<br> この場合はZIP形式必須で、同一のZIPファイル内にm3u8ファイルとtsファイルを両方含めてください。<br> なお、このm3u8ファイルに記述された相対パスでtsファイルが参照可能である必要があります。 ZIPファイルを登録するとバックグラウンドジョブが登録されます。ジョブは [getProjectJob](#operation/getProjectJob) APIで確認できます(ジョブ種別は`gen-inputs`)。 ### ディレクトリ例 ``` hoge.zip/ hoge.ts fuga/ foo.m3u8(hoge.ts, fuga/foo1.ts, fuga/foo2.tsを参照) foo1.ts foo2.ts piyo1/ piyo2/ bar.ts bar.m3u8(hoge.ts, piyo1/piyo2/bar.tsを参照) ``` ## 注意事項 * `input_data_path` のスキーマが `https` の場合、 `input_data_name` もしくは `input_data_path` の末尾にファイルの拡張子を含むようにしてください * `input_data_name` の値が優先されます * `input_data_path` のスキーマが `s3` かつ入力データがtsファイルの場合、 `input_data_name` もしくは `input_data_path` の末尾にファイルの拡張子を含むようにしてください * `input_data_name` の値が優先されます
806+
入力データ(画像プロジェクトなら画像、動画プロジェクトなら動画や時系列データ)を登録します。 ファイルの登録には、[アップロード用一時データ保存先作成API](#operation/createTempPath) を組み合わせて使用します。 ## ZIPでまとめてアップロード 画像プロジェクトの場合、複数の画像ファイルをZIPでまとめてアップロードできます。ZIPは最大5GB、UTF-8エンコーディングのみ対応しています。<br> アノテーション作業生産性を高めるため、画像は「長辺4096px以内」かつ「4MB以内」になるよう縮小されます。<br> 作成されるアノテーションは、元の解像度でつけた場合相当に自動で復元されます。 動画プロジェクトの場合、複数の動画ファイルをZIPでまとめてアップロードできます。ZIPは最大5GB、UTF-8エンコーディングのみ対応しています。<br> また、複数のストリーミング形式の動画をアップロードすることもできます。<br> この場合はZIP形式必須で、同一のZIPファイル内にm3u8ファイルとtsファイルを両方含めてください。<br> なお、このm3u8ファイルに記述された相対パスでtsファイルが参照可能である必要があります。 ZIPファイルを登録するとバックグラウンドジョブが登録されます。ジョブは [getProjectJob](#operation/getProjectJob) APIで確認できます(ジョブ種別は`gen-inputs`)。 ### ディレクトリ例 ``` hoge.zip/ hoge.ts fuga/ foo.m3u8(hoge.ts, fuga/foo1.ts, fuga/foo2.tsを参照) foo1.ts foo2.ts piyo1/ piyo2/ bar.ts bar.m3u8(hoge.ts, piyo1/piyo2/bar.tsを参照) ``` ## 注意事項 * `input_data_path` のスキーマが `https` の場合、 `input_data_name` もしくは `input_data_path` の末尾にファイルの拡張子を含むようにしてください * `input_data_name` の値が優先されます * `input_data_path` のスキーマが `s3` かつ入力データがtsファイルの場合、 `input_data_name` もしくは `input_data_path` の末尾にファイルの拡張子を含むようにしてください * `input_data_name` の値が優先されます * ZIPでまとめてアップロード時、ZIPファイル内の次の名前のファイルは入力データとして登録されません * `Thumbs.db` * `__MACOSX` * `.DS_Store` * 上記以外の、ファイル名先頭が `.`(ドット)で始まるファイル * ZIPでまとめてアップロード時、ZIPファイル内の `.`(ドット)から始まるフォルダ以下のファイルは入力データとして登録されません
744807
745808
Args:
746809
project_id (str): プロジェクトID (required)

0 commit comments

Comments
 (0)