Lets go
Browse files- 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 =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 =
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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}")
|