11import io
2+ import time
23import json
34import re
45from 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
10031023class Account (object ):
10041024 def __init__ (self , login_name , password , server_url ):
0 commit comments