Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading