Ver código fonte

fix: check result should be string. (#1959)

Garfield Dai 1 ano atrás
pai
commit
a8cedea15a
1 arquivos alterados com 7 adições e 3 exclusões
  1. 7 3
      api/core/external_data_tool/api/api.py

+ 7 - 3
api/core/external_data_tool/api/api.py

@@ -58,7 +58,7 @@ class ApiExternalDataTool(ExternalDataTool):
         if not api_based_extension:
             raise ValueError("[External data tool] API query failed, variable: {}, "
                              "error: api_based_extension_id is invalid"
-                             .format(self.config.get('variable')))
+                             .format(self.variable))
 
         # decrypt api_key
         api_key = encrypter.decrypt_token(
@@ -74,7 +74,7 @@ class ApiExternalDataTool(ExternalDataTool):
             )
         except Exception as e:
             raise ValueError("[External data tool] API query failed, variable: {}, error: {}".format(
-                self.config.get('variable'),
+                self.variable,
                 e
             ))
 
@@ -87,6 +87,10 @@ class ApiExternalDataTool(ExternalDataTool):
 
         if 'result' not in response_json:
             raise ValueError("[External data tool] API query failed, variable: {}, error: result not found in response"
-                             .format(self.config.get('variable')))
+                             .format(self.variable))
+
+        if not isinstance(response_json['result'], str):
+            raise ValueError("[External data tool] API query failed, variable: {}, error: result is not string"
+                             .format(self.variable))
 
         return response_json['result']