Soumik555 commited on
Commit
0b01c12
·
1 Parent(s): eab6a7c
Files changed (1) hide show
  1. controller.py +12 -4
controller.py CHANGED
@@ -15,9 +15,8 @@ from pandasai import SmartDataframe
15
  from langchain_groq.chat_models import ChatGroq
16
  from dotenv import load_dotenv
17
  from pydantic import BaseModel
18
- from csv_service import clean_data, extract_chart_filenames
19
  from urllib.parse import unquote
20
- import csv_service
21
  from langchain_groq import ChatGroq
22
  import pandas as pd
23
  from langchain_experimental.tools import PythonAstREPLTool
@@ -99,7 +98,12 @@ async def basic_csv_data(request: CsvUrlRequest):
99
  try:
100
  decoded_url = unquote(request.csv_url)
101
  logger.info(f"Fetching CSV data from URL: {decoded_url}")
102
- csv_data = csv_service.get_csv_basic_info(decoded_url)
 
 
 
 
 
103
  logger.info(f"CSV data fetched successfully: {csv_data}")
104
  return {"data": csv_data}
105
  except Exception as e:
@@ -136,7 +140,11 @@ async def get_csv_data(request: CsvUrlRequest):
136
  try:
137
  decoded_url = unquote(request.csv_url)
138
  logger.info(f"Fetching CSV data from URL: {decoded_url}")
139
- csv_data = csv_service.generate_csv_data(decoded_url)
 
 
 
 
140
  return csv_data
141
  except Exception as e:
142
  logger.error(f"Error while fetching CSV data: {e}")
 
15
  from langchain_groq.chat_models import ChatGroq
16
  from dotenv import load_dotenv
17
  from pydantic import BaseModel
18
+ from csv_service import clean_data, extract_chart_filenames, generate_csv_data, get_csv_basic_info
19
  from urllib.parse import unquote
 
20
  from langchain_groq import ChatGroq
21
  import pandas as pd
22
  from langchain_experimental.tools import PythonAstREPLTool
 
98
  try:
99
  decoded_url = unquote(request.csv_url)
100
  logger.info(f"Fetching CSV data from URL: {decoded_url}")
101
+ # csv_data = await get_csv_basic_info(decoded_url)
102
+ # Run the synchronous function in a thread pool executor
103
+ loop = asyncio.get_running_loop()
104
+ csv_data = await loop.run_in_executor(
105
+ process_executor, get_csv_basic_info, decoded_url
106
+ )
107
  logger.info(f"CSV data fetched successfully: {csv_data}")
108
  return {"data": csv_data}
109
  except Exception as e:
 
140
  try:
141
  decoded_url = unquote(request.csv_url)
142
  logger.info(f"Fetching CSV data from URL: {decoded_url}")
143
+ # csv_data = await generate_csv_data(decoded_url)
144
+ loop = asyncio.get_running_loop()
145
+ csv_data = await loop.run_in_executor(
146
+ process_executor, generate_csv_data, decoded_url
147
+ )
148
  return csv_data
149
  except Exception as e:
150
  logger.error(f"Error while fetching CSV data: {e}")