From a8cedea15aaf6d35e6dbbf1efa8368d0980cbb26 Mon Sep 17 00:00:00 2001 From: Garfield Dai Date: Fri, 5 Jan 2024 22:11:51 +0800 Subject: [PATCH] fix: check result should be string. (#1959) --- api/core/external_data_tool/api/api.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/api/core/external_data_tool/api/api.py b/api/core/external_data_tool/api/api.py index 8896a00699..58c82502ea 100644 --- a/api/core/external_data_tool/api/api.py +++ b/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']