about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexander_Kabui2024-05-16 18:56:41 +0300
committerAlexander_Kabui2024-05-16 18:56:41 +0300
commit50c8500105912a6380ea8f971ccfb17ef0994279 (patch)
tree2c80797738fb202ca63061bcd9f00f5b939921f9
parente0aadacbfc23f240c9dad1d0cd430ffcfa99d547 (diff)
downloadgenenetwork3-50c8500105912a6380ea8f971ccfb17ef0994279.tar.gz
Refactor code for http request adapters.
-rw-r--r--gn3/llms/client.py43
-rw-r--r--gn3/llms/process.py2
2 files changed, 12 insertions, 33 deletions
diff --git a/gn3/llms/client.py b/gn3/llms/client.py
index 2e9898f..810227f 100644
--- a/gn3/llms/client.py
+++ b/gn3/llms/client.py
@@ -1,5 +1,6 @@
 """Module  Contains code for making request to fahamu Api"""
 # pylint: disable=C0301
+# pylint: disable=R0913
 import json
 import time
 
@@ -24,13 +25,13 @@ class TimeoutHTTPAdapter(HTTPAdapter):
         self.timeout = timeout
         super().__init__(*args, **kwargs)
 
-    def send(self, request, **kwargs):
+    def send(self, *args, **kwargs):
         """Override :obj:`HTTPAdapter` send method to add a default timeout."""
         timeout = kwargs.get("timeout")
         if timeout is None:
             kwargs["timeout"] = self.timeout
 
-        return super().send(request, **kwargs)
+        return super().send(*args, **kwargs)
 
 
 class GeneNetworkQAClient(Session):
@@ -77,21 +78,15 @@ class GeneNetworkQAClient(Session):
         self.mount("https://", adapter)
         self.mount("http://", adapter)
 
-    def ask_the_documents(self, extend_url, my_auth):
+    def get_answer_using_task_id(self, extend_url, my_auth):
+        """call this method with task id to fetch response"""
         try:
-            response = requests.post(
-                self.base_url + extend_url, data={}, headers=my_auth)
+            response = requests.get(
+               self.answer_url + extend_url, data={}, headers=my_auth)
             response.raise_for_status()
+            return response
         except requests.exceptions.RequestException as error:
-            raise RuntimeError(f"Error making the request: {error}") from error
-        if response.status_code != 200:
-            return GeneNetworkQAClient.negative_status_msg(response), 0
-        task_id = GeneNetworkQAClient.get_task_id_from_result(response)
-        response = GeneNetworkQAClient.get_answer_using_task_id(task_id,
-                                                                my_auth)
-        if response.status_code != 200:
-            return GeneNetworkQAClient.negative_status_msg(response), 0
-        return response, 1
+            raise error
 
     @staticmethod
     def negative_status_msg(response):
@@ -102,7 +97,7 @@ class GeneNetworkQAClient(Session):
         """fahamu ask api interface"""
         res = self.custom_request('POST', f"{self.base_url}{ex_url}", *args, **kwargs)
         if res.status_code != 200:
-            return self.negative_status_msg(res), 0
+            return f"Error: Status code -{res.status_code}- Reason::{res.reason}", 0
         return res, json.loads(res.text)
 
     def get_answer(self, taskid, *args, **kwargs):
@@ -110,25 +105,9 @@ class GeneNetworkQAClient(Session):
         query = f"{self.answer_url}?task_id={taskid['task_id']}"
         res = self.custom_request('GET', query, *args, **kwargs)
         if res.status_code != 200:
-            return self.negative_status_msg(res), 0
+            return f"Error: Status code -{res.status_code}- Reason::{res.reason}", 0
         return res, 1
 
-    @staticmethod
-    def get_task_id_from_result(response):
-        """method to get task_id from response"""
-        task_id = json.loads(response.text)
-        return f"?task_id={task_id.get('task_id', '')}"
-
-    def get_answer_using_task_id(self, extend_url, my_auth):
-        """call this method with task id to fetch response"""
-        try:
-            response = requests.get(
-               self.answer_url + extend_url, data={}, headers=my_auth)
-            response.raise_for_status()
-            return response
-        except requests.exceptions.RequestException as error:
-            raise error
-
     def custom_request(self, method, url, *args, **kwargs):
         """ make custom request to fahamu api ask and get response"""
         max_retries = 50
diff --git a/gn3/llms/process.py b/gn3/llms/process.py
index 11961eb..9cb09a1 100644
--- a/gn3/llms/process.py
+++ b/gn3/llms/process.py
@@ -118,7 +118,7 @@ def get_gnqa(query, auth_token, data_dir=""):
          references: contains doc_name,reference,pub_med_info
     """
 
-    api_client = GeneNetworkQAClient(requests.Session(), auth_token)
+    api_client = GeneNetworkQAClient(requests.Session(), api_key=auth_token)
     res, task_id = api_client.ask('?ask=' + quote(query), auth_token)
     if task_id == 0:
         raise RuntimeError(f"Error connecting to Fahamu Api: {str(res)}")