Skip to content

Commit

Permalink
Annofab v0.108.0 対応 (#284)
Browse files Browse the repository at this point in the history
* annofab v0.108.0に対応

* annofab v0.108.0に対応

* version up

* update

* update travis

* update travis

* update travis
  • Loading branch information
yuji38kwmt committed Mar 3, 2021
1 parent 9f48746 commit b9d27fa
Show file tree
Hide file tree
Showing 14 changed files with 178 additions and 515 deletions.
7 changes: 3 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,11 @@ python:
- "3.7"
- "3.8"
install:
- pip install . flake8 mypy pylint pytest
- pip install poetry
- poetry install
- echo -e "machine annofab.com\nlogin FOO\npassword BAR\n" > ~/.netrc && chmod 600 ~/.netrc
script:
- flake8 annofabapi
- mypy annofabapi
- pylint annofabapi
- make lint
- pytest tests/test_local*.py
branches:
only:
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ format:
lint:
poetry run mypy annofabapi tests
poetry run flake8 annofabapi tests/create_test_project.py
poetry run pylint annofabapi tests/create_test_project.py
poetry run pylint --jobs=0 annofabapi tests/create_test_project.py

test:
poetry run pytest -n auto --cov=annofabapi --cov-report=html tests
Expand Down
2 changes: 1 addition & 1 deletion annofabapi/__version__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.42.2"
__version__ = "0.43.0"
3 changes: 3 additions & 0 deletions annofabapi/dataclass/annotation_specs.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,9 @@ class LabelV1BoundingBoxMetadata(DataClassJsonMixin):
tolerance: Optional[int]
""""""

has_direction: Optional[bool]
"""`annotation_type` が `polyline` の場合、アノテーションに向きを持たせるかどうかを指定できます。 この値が `true` の場合、AnnoFabの標準画像エディタ上ではポリラインの向きを示す矢印が描画されるようになります。 `annotationType` が `polyline` 以外の場合は必ず `false` となります。 """


@dataclass
class LabelV1SegmentationMetadata(DataClassJsonMixin):
Expand Down
9 changes: 0 additions & 9 deletions annofabapi/dataclass/input.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,6 @@ class InputData(DataClassJsonMixin):
original_input_data_path: Optional[str]
"""AF外部のストレージから登録された場合、その外部ストレージ中のパス。 それ以外の場合は値なし """

original_resolution: Optional[Resolution]
""""""

resized_resolution: Optional[Resolution]
""""""

input_duration: Optional[float]
"""入力データが動画の場合、動画の長さ(秒)。小数点以下はミリ秒以下を表します。 動画の長さが取得できなかった場合、あるいは入力データが画像の場合は値なし。 """

updated_datetime: str
""""""

Expand Down
11 changes: 10 additions & 1 deletion annofabapi/dataclass/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,13 @@

from dataclasses_json import DataClassJsonMixin

from annofabapi.models import AssigneeRuleOfResubmittedTask, InputDataType, ProjectStatus, TaskAssignmentType
from annofabapi.models import (
AssigneeRuleOfResubmittedTask,
InputDataType,
ProjectStatus,
TaskAssignmentProperty,
TaskAssignmentType,
)


@dataclass
Expand All @@ -39,6 +45,9 @@ class ProjectConfiguration(DataClassJsonMixin):
task_assignment_type: Optional[TaskAssignmentType]
""""""

task_assignment_property: Optional[TaskAssignmentProperty]
""""""

max_tasks_per_member: Optional[int]
"""保留中のタスクを除き、1人(オーナー以外)に割り当てられるタスク数上限。未指定の場合は10件として扱う。"""

Expand Down
76 changes: 18 additions & 58 deletions annofabapi/generated_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -442,9 +442,7 @@ def get_editor_annotation(
}
return self._request_wrapper(http_method, url_path, **keyword_params)

def post_annotation_archive_update(
self, project_id: str, query_params: Optional[Dict[str, Any]] = None, **kwargs
) -> Tuple[Any, requests.Response]:
def post_annotation_archive_update(self, project_id: str, **kwargs) -> Tuple[Any, requests.Response]:
"""アノテーションZIP更新開始
https://annofab.com/docs/api/#operation/postAnnotationArchiveUpdate
Expand All @@ -456,19 +454,15 @@ def post_annotation_archive_update(
Args:
project_id (str): プロジェクトID (required)
query_params (Dict[str, Any]): Query Parameters
v (str): APIの戻り型のバージョンを指定します。 値と戻り型の対応は以下です。 - \"1\":Message - \"2\":PostAnnotationArchiveUpdateResponse
Returns:
Tuple[PostAnnotationArchiveUpdateResponseWrapper, requests.Response]
Tuple[PostAnnotationArchiveUpdateResponse, requests.Response]
"""
url_path = f"/projects/{project_id}/archive/update"
http_method = "POST"
keyword_params: Dict[str, Any] = {
"query_params": query_params,
}
keyword_params: Dict[str, Any] = {}
return self._request_wrapper(http_method, url_path, **keyword_params)

def put_annotation(
Expand Down Expand Up @@ -715,10 +709,10 @@ def get_input_data_list(
Args:
project_id (str): プロジェクトID (required)
query_params (Dict[str, Any]): Query Parameters
input_data_id (str): 入力データIDでの部分一致検索で使用。1文字以上あれば使用します。大文字小文字は区別しません。
input_data_name (str): 入力データ名での部分一致検索で使用。1文字以上あれば使用します。大文字小文字は区別しません。
input_data_path (str): 入力データパスでの部分一致検索で使用。1文字以上あれば使用します。
task_id (str): 入力データが紐づくタスクIDの部分一致検索で使用。1文字以上あれば使用します。大文字小文字は区別しません。条件に合致した先頭100件のタスクに使われている入力データを検索します。
input_data_id (str): 入力データIDでの部分一致検索で使用。1文字以上あれば使用します。最大文字列長300文字。大文字小文字は区別しません。
input_data_name (str): 入力データ名での部分一致検索で使用。1文字以上あれば使用します。最大文字列長300文字。大文字小文字は区別しません。
input_data_path (str): 入力データパスでの部分一致検索で使用。1文字以上あれば使用します。最大文字列長300文字。
task_id (str): 入力データが紐づくタスクIDの部分一致検索で使用。1文字以上あれば使用します。最大文字列長300文字。大文字小文字は区別しません。条件に合致した先頭100件のタスクに使われている入力データを検索します。
_from (str): 更新日時での範囲検索で使用(ISO 8601 拡張形式)
to (str): 更新日時での範囲検索で使用(ISO 8601 拡張形式)
page (int): 検索結果のうち、取得したいページの番号(1始まり)
Expand All @@ -737,12 +731,7 @@ def get_input_data_list(
return self._request_wrapper(http_method, url_path, **keyword_params)

def put_input_data(
self,
project_id: str,
input_data_id: str,
query_params: Optional[Dict[str, Any]] = None,
request_body: Optional[Any] = None,
**kwargs,
self, project_id: str, input_data_id: str, request_body: Optional[Any] = None, **kwargs
) -> Tuple[Any, requests.Response]:
"""入力データ更新
https://annofab.com/docs/api/#operation/putInputData
Expand All @@ -756,8 +745,6 @@ def put_input_data(
Args:
project_id (str): プロジェクトID (required)
input_data_id (str): 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) (required)
query_params (Dict[str, Any]): Query Parameters
v (str): zipファイルを受領時のAPIの戻り型のバージョンを指定します。 値と戻り型の対応は以下です。 - \"1\":登録処理を開始した旨の固定メッセージ - \"2\":JobInfo
request_body (Any): Request Body
input_data_request (InputDataRequest): (required)
Expand All @@ -769,7 +756,6 @@ def put_input_data(
url_path = f"/projects/{project_id}/inputs/{input_data_id}"
http_method = "PUT"
keyword_params: Dict[str, Any] = {
"query_params": query_params,
"request_body": request_body,
}
return self._request_wrapper(http_method, url_path, **keyword_params)
Expand Down Expand Up @@ -1803,9 +1789,7 @@ def put_organization_plugin(
# NOTE: This method is auto generated by OpenAPI Generator
#########################################

def delete_project(
self, project_id: str, query_params: Optional[Dict[str, Any]] = None, **kwargs
) -> Tuple[Any, requests.Response]:
def delete_project(self, project_id: str, **kwargs) -> Tuple[Any, requests.Response]:
"""プロジェクト削除
https://annofab.com/docs/api/#operation/deleteProject
Expand All @@ -1817,19 +1801,15 @@ def delete_project(
Args:
project_id (str): プロジェクトID (required)
query_params (Dict[str, Any]): Query Parameters
v (str): APIの戻り型のバージョンを指定します。 値と戻り型の対応は以下です。 - \"1\":Project - \"2\":DeleteProjectResponse
Returns:
Tuple[DeleteProjectResponseWrapper, requests.Response]
Tuple[DeleteProjectResponse, requests.Response]
"""
url_path = f"/projects/{project_id}"
http_method = "DELETE"
keyword_params: Dict[str, Any] = {
"query_params": query_params,
}
keyword_params: Dict[str, Any] = {}
return self._request_wrapper(http_method, url_path, **keyword_params)

def get_organization_of_project(self, project_id: str, **kwargs) -> Tuple[Any, requests.Response]:
Expand Down Expand Up @@ -1996,11 +1976,7 @@ def get_project_tasks_url(self, project_id: str, **kwargs) -> Tuple[Any, request
return self._request_wrapper(http_method, url_path, **keyword_params)

def initiate_project_copy(
self,
project_id: str,
query_params: Optional[Dict[str, Any]] = None,
request_body: Optional[Any] = None,
**kwargs,
self, project_id: str, request_body: Optional[Any] = None, **kwargs
) -> Tuple[Any, requests.Response]:
"""プロジェクト複製
https://annofab.com/docs/api/#operation/initiateProjectCopy
Expand All @@ -2013,20 +1989,17 @@ def initiate_project_copy(
Args:
project_id (str): コピー元となるプロジェクトID (required)
query_params (Dict[str, Any]): Query Parameters
v (str): APIの戻り型のバージョンを指定します。 値と戻り型の対応は以下です。 - \"1\":Project - \"2\":ProjectCopyResponse
request_body (Any): Request Body
project_copy_request (ProjectCopyRequest): (required)
Returns:
Tuple[ProjectCopyResponseWrapper, requests.Response]
Tuple[ProjectCopyResponse, requests.Response]
"""
url_path = f"/projects/{project_id}/copy"
http_method = "POST"
keyword_params: Dict[str, Any] = {
"query_params": query_params,
"request_body": request_body,
}
return self._request_wrapper(http_method, url_path, **keyword_params)
Expand Down Expand Up @@ -2054,9 +2027,7 @@ def post_project_inputs_update(self, project_id: str, **kwargs) -> Tuple[Any, re
keyword_params: Dict[str, Any] = {}
return self._request_wrapper(http_method, url_path, **keyword_params)

def post_project_tasks_update(
self, project_id: str, query_params: Optional[Dict[str, Any]] = None, **kwargs
) -> Tuple[Any, requests.Response]:
def post_project_tasks_update(self, project_id: str, **kwargs) -> Tuple[Any, requests.Response]:
"""プロジェクトのタスク全件ファイル更新開始
https://annofab.com/docs/api/#operation/postProjectTasksUpdate
Expand All @@ -2068,19 +2039,15 @@ def post_project_tasks_update(
Args:
project_id (str): プロジェクトID (required)
query_params (Dict[str, Any]): Query Parameters
v (str): APIの戻り型のバージョンを指定します。 値と戻り型の対応は以下です。 - \"1\":Message - \"2\":PostProjectTasksUpdateResponse
Returns:
Tuple[PostProjectTasksUpdateResponseWrapper, requests.Response]
Tuple[PostProjectTasksUpdateResponse, requests.Response]
"""
url_path = f"/projects/{project_id}/rawdata/tasks"
http_method = "POST"
keyword_params: Dict[str, Any] = {
"query_params": query_params,
}
keyword_params: Dict[str, Any] = {}
return self._request_wrapper(http_method, url_path, **keyword_params)

def put_project(
Expand Down Expand Up @@ -2677,11 +2644,7 @@ def get_tasks(
return self._request_wrapper(http_method, url_path, **keyword_params)

def initiate_tasks_generation(
self,
project_id: str,
query_params: Optional[Dict[str, Any]] = None,
request_body: Optional[Any] = None,
**kwargs,
self, project_id: str, request_body: Optional[Any] = None, **kwargs
) -> Tuple[Any, requests.Response]:
"""タスク一括作成
https://annofab.com/docs/api/#operation/initiateTasksGeneration
Expand All @@ -2694,20 +2657,17 @@ def initiate_tasks_generation(
Args:
project_id (str): プロジェクトID (required)
query_params (Dict[str, Any]): Query Parameters
v (str): APIの戻り型のバージョンを指定します。 値と戻り型の対応は以下です。 - \"1\":Project - \"2\":TaskGenerateResponse
request_body (Any): Request Body
task_generate_request (TaskGenerateRequest): (required)
Returns:
Tuple[TaskGenerateResponseWrapper, requests.Response]
Tuple[TaskGenerateResponse, requests.Response]
"""
url_path = f"/projects/{project_id}/generate-tasks"
http_method = "POST"
keyword_params: Dict[str, Any] = {
"query_params": query_params,
"request_body": request_body,
}
return self._request_wrapper(http_method, url_path, **keyword_params)
Expand Down

0 comments on commit b9d27fa

Please sign in to comment.