Skip to content

Commit a8af1a8

Browse files
committed
AnnoFab v0.50.0に対応
1 parent d400d21 commit a8af1a8

12 files changed

+475
-219
lines changed

README_for_developer.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,19 @@ $ make init
1717
`annofabapi/api.py`[AnnoFab Web APIのOpenAPI specification](https://annofab.com/docs/api/swagger.yaml)から自動生成しています。
1818
詳細は[generate/README.md](generate/README.md)を参照してください。
1919

20+
21+
## フォーマッターを実行
22+
23+
```
24+
$ make format
25+
```
26+
27+
## lintを実行
28+
29+
```
30+
$ make lint
31+
```
32+
2033
## テスト実行方法
2134
1. AnnoFabの認証情報を`.netrc`に記載する。
2235
2. `pytest.ini`にテスト対象の`project_id`を指定. テスト実行により、プロジェクトが変更されることに注意!!
@@ -32,17 +45,6 @@ $ make init
3245
* 「パスワード変更」など使用頻度が少なく、実行や確認がしづらいメソッド
3346

3447

35-
## フォーマッターを実行
36-
37-
```
38-
$ make format
39-
```
40-
41-
## lintを実行
42-
43-
```
44-
$ make lint
45-
```
4648

4749
## リリースする
4850

annofabapi/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '0.2.0'
1+
__version__ = '0.3.0'

annofabapi/api.py

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1565,6 +1565,66 @@ def get_project(
15651565
keyword_params: Dict[str, Any] = {}
15661566
return self._request_wrapper(http_method, url_path, **keyword_params)
15671567

1568+
def get_project_inspections_url(
1569+
self,
1570+
project_id: str,
1571+
) -> Tuple[Any, requests.Response]: # noqa: E501
1572+
"""プロジェクトの検査コメント全件URLの取得 # noqa: E501
1573+
検査コメント全件ファイルは、毎日AM 02:00 JSTに更新されます。 # noqa: E501
1574+
Args:
1575+
project_id (str): プロジェクトID (required)
1576+
1577+
Returns:
1578+
Tuple[Inspection, requests.Response]
1579+
1580+
Authorizations:
1581+
ProjectOwner,
1582+
"""
1583+
url_path = f'/projects/{project_id}/rawdata/inspections'
1584+
http_method = 'GET'
1585+
keyword_params: Dict[str, Any] = {}
1586+
return self._request_wrapper(http_method, url_path, **keyword_params)
1587+
1588+
def get_project_task_history_events_url(
1589+
self,
1590+
project_id: str,
1591+
) -> Tuple[Any, requests.Response]: # noqa: E501
1592+
"""プロジェクトのタスク履歴イベント全件URLの取得 # noqa: E501
1593+
タスク履歴イベント全件ファイルは、毎日AM 02:00 JSTに更新されます。 # noqa: E501
1594+
Args:
1595+
project_id (str): プロジェクトID (required)
1596+
1597+
Returns:
1598+
Tuple[TaskHistoryEvent, requests.Response]
1599+
1600+
Authorizations:
1601+
ProjectOwner,
1602+
"""
1603+
url_path = f'/projects/{project_id}/rawdata/task_history_events'
1604+
http_method = 'GET'
1605+
keyword_params: Dict[str, Any] = {}
1606+
return self._request_wrapper(http_method, url_path, **keyword_params)
1607+
1608+
def get_project_tasks_url(
1609+
self,
1610+
project_id: str,
1611+
) -> Tuple[Any, requests.Response]: # noqa: E501
1612+
"""プロジェクトのタスク全件URLの取得 # noqa: E501
1613+
タスク全件ファイルは、毎日AM 02:00 JSTに更新されます。 # noqa: E501
1614+
Args:
1615+
project_id (str): プロジェクトID (required)
1616+
1617+
Returns:
1618+
Tuple[Task, requests.Response]
1619+
1620+
Authorizations:
1621+
ProjectOwner,
1622+
"""
1623+
url_path = f'/projects/{project_id}/rawdata/tasks'
1624+
http_method = 'GET'
1625+
keyword_params: Dict[str, Any] = {}
1626+
return self._request_wrapper(http_method, url_path, **keyword_params)
1627+
15681628
def initiate_project_copy(self,
15691629
project_id: str,
15701630
request_body: Optional[Any] = None
@@ -1627,7 +1687,7 @@ def get_project_member(
16271687
user_id (str): アカウントのユーザID. RESTクライアントユーザが指定しやすいように、Cognitoのaccount_idではなくuser_idとしている。 (required)
16281688
16291689
Returns:
1630-
Tuple[list[ProjectMember], requests.Response]
1690+
Tuple[ProjectMember, requests.Response]
16311691
16321692
Authorizations:
16331693
AllProjectMember,
@@ -1735,6 +1795,7 @@ def get_label_statistics(
17351795
project_id: str,
17361796
) -> Tuple[Any, requests.Response]: # noqa: E501
17371797
"""ラベル別アノテーション数集計取得 # noqa: E501
1798+
ラベルごとの以下集計データを取得します。 * `completed_labels`:受入が完了したアノテーション数 * `wip_labels`:受入が完了していないアノテーション数 # noqa: E501
17381799
Args:
17391800
project_id (str): プロジェクトID (required)
17401801

annofabapi/wrapper.py

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -134,41 +134,6 @@ def get_all_annotation_list(self,
134134
project_id=project_id,
135135
query_params=query_params)
136136

137-
def put_annotation_with_outer_file(self,
138-
project_id: str,
139-
task_id: str,
140-
input_data_id: str,
141-
file_path: str,
142-
request_body:Dict[str, Any],
143-
content_type: Optional[str] = None) -> Dict[str, Any]:
144-
"""
145-
外部ファイルと一緒にアノテーションを更新する。
146-
外部ファイルは塗りつぶしアノテーションなどに利用される。
147-
Args:
148-
project_id: プロジェクトID
149-
input_data_id:
150-
file_path: アップロードするファイル
151-
request_body: `put_input_data`に渡すrequest body. Keyに`input_data_name`がなければ、ファイルパスが設定される。
152-
content_type: アップロードするファイルのMIME Type. Noneの場合、ファイルパスから推測する。
153-
Returns:
154-
`put_input_data`のcontent
155-
"""
156-
157-
s3_path = self.upload_file_to_s3(project_id, file_path, content_type)
158-
159-
copied_request_body = copy.deepcopy(
160-
request_body) if request_body is not None else {}
161-
162-
copied_request_body.update({"input_data_path": s3_path})
163-
if "input_data_name" not in copied_request_body:
164-
copied_request_body["input_data_name"] = file_path
165-
166-
return self.api.put_input_data(project_id,
167-
input_data_id,
168-
request_body=copied_request_body)[0]
169-
170-
171-
172137
#########################################
173138
# Public Method : AfAnnotationSpecsApi
174139
#########################################

0 commit comments

Comments
 (0)