Skip to content

Commit 915f374

Browse files
smart_fill_task_status
1 parent 1efc008 commit 915f374

File tree

1 file changed

+28
-8
lines changed

1 file changed

+28
-8
lines changed

seatable_api/main.py

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import io
2+
import time
23
import json
34
import re
45
from datetime import datetime, timedelta
@@ -172,12 +173,6 @@ def _dtable_db_linked_records_url(self):
172173
def _dtable_db_insert_rows_url(self):
173174
return self.dtable_db_url + '/api/v1/insert-rows/' + self.dtable_uuid + '/'
174175

175-
def _smart_fill_from_text_url(self):
176-
return self.dtable_db_url + '/api/v1/smart-fill-from-text/'
177-
178-
def _smart_fill_from_column_url(self):
179-
return self.dtable_db_url + '/api/v1/smart-fill-from-column/'
180-
181176
def _get_related_users_url(self):
182177
return '%(server_url)s/api/v2.1/dtables/%(dtable_uuid)s/related-users/' % {
183178
'server_url': self.server_url,
@@ -196,6 +191,16 @@ def _add_workflow_task_url(self, token):
196191
'token': token
197192
}
198193

194+
def _smart_fill_from_text_url(self):
195+
return self.server_url + '/api/v2.1/smart-fill-from-text/'
196+
197+
def _smart_fill_from_column_url(self):
198+
return self.server_url + '/api/v2.1/smart-fill-from-column/'
199+
200+
def _smart_fill_task_status_url(self, task_id):
201+
return self.server_url + '/api/v2.1/smart-fill-task-status/?dtable_uuid=' + \
202+
self.dtable_uuid + '&task_id=' + str(task_id)
203+
199204
def _get_account_detail(self, account_name):
200205
url = self._third_party_accounts_url()
201206
params = {
@@ -966,7 +971,7 @@ def smart_fill_from_text(self, table_name, long_text, columns):
966971
:param table_name: str
967972
:param long_text: str
968973
:param columns: list
969-
:return: list
974+
:return: dict
970975
"""
971976
url = self._smart_fill_from_text_url()
972977
json_data = {
@@ -985,7 +990,7 @@ def smart_fill_from_column(self, table_name, long_text_column_name, columns, sta
985990
:param columns: list
986991
:param start: int
987992
:param limit: int
988-
:return: list
993+
:return: dict
989994
"""
990995
url = self._smart_fill_from_column_url()
991996
json_data = {
@@ -999,6 +1004,21 @@ def smart_fill_from_column(self, table_name, long_text_column_name, columns, sta
9991004
response = requests.post(url, json=json_data, headers=self.headers, timeout=self.timeout)
10001005
return parse_response(response)
10011006

1007+
def smart_fill_task_status(self, task_id):
1008+
"""
1009+
:param task_id: str
1010+
:return: dict
1011+
"""
1012+
url = self._smart_fill_task_status_url(task_id)
1013+
print('start check task status, please wait...')
1014+
for i in range(300):
1015+
time.sleep(1)
1016+
response = requests.get(url, headers=self.headers, timeout=self.timeout)
1017+
task_status_response = parse_response(response)
1018+
is_finished = task_status_response['is_finished']
1019+
if is_finished:
1020+
return task_status_response
1021+
return {'error': 'smart fill task status timeout'}
10021022

10031023
class Account(object):
10041024
def __init__(self, login_name, password, server_url):

0 commit comments

Comments
 (0)