Spaces:
Running
Running
from crewai.flow.flow import Flow,listen,start | |
import json | |
import os | |
from typing import List, Dict,Any | |
from pydantic import BaseModel, Field | |
from crewai.flow.flow import Flow, listen, start | |
import pandas as pd | |
from languageexport.crew import LanguagesExport | |
class OutputFile(Flow): | |
def get_data(self): | |
path = input("Enter path to your Excel file (e.g., full_translations.xlsx): ").strip() | |
if not os.path.exists(path): | |
raise FileNotFoundError(f"File not found: {path}") | |
df = pd.read_excel(path) | |
print(f"Loaded {path} with shape {df.shape}") | |
table = [df.columns.tolist()] + df.values.tolist() | |
self.state['table'] = table | |
return table | |
def ask_filename(self, table: List[List[Any]]): | |
filename = input("Enter desired output filename (with .xlsx extension): ").strip() | |
if not filename.lower().endswith('.xlsx'): | |
filename += '.xlsx' | |
self.state['filename'] = filename | |
return table | |
def create_file(self, table: List[List[Any]]): | |
filename = self.state['filename'] | |
result = LanguagesExport().crew().kickoff(inputs={'data': table, 'filename': filename}) | |
self.state['result'] = result | |
print(f"Agent returned: {result}") | |
if os.path.exists(filename): | |
print(f"Output file created: {filename}") | |
else: | |
print(f"Expected output file not found: {filename}") | |
return filename | |
def show_file(self, filename: str): | |
df = pd.read_excel(filename) | |
print("β Translated content:") | |
print(df) | |
return df |