Spaces:
Sleeping
Sleeping
from fastapi import FastAPI | |
from fastapi.responses import Response | |
from fastapi.responses import FileResponse | |
from pydantic import BaseModel | |
import random | |
import matplotlib.pyplot as plt | |
import pandas as pd | |
import io | |
app = FastAPI() | |
# Define the ticket schema using Pydantic | |
class Ticket(BaseModel): | |
name: str | |
department: str | |
category: str | |
description: str | |
service_category: str | |
difficulty: int # Adjust type as needed (e.g., int or str) | |
class Code(BaseModel): | |
code: str | |
def greet_json(): | |
return {"Hello": "World!"} | |
async def create_ticket(ticket: Ticket): | |
# Here you can process the ticket, e.g., save it to a database. | |
# For now, we simply return the received ticket data. | |
tick = ticket.dict() | |
tick["number"] = random.randint(1000, 9999) | |
return { | |
"message": "Ticket created successfully", | |
"ticket": tick | |
} | |
async def run_code(code: Code): | |
# img_buffer = io.BytesIO() | |
exec(code.code) | |
# img_buffer.seek(0) # Reset buffer position | |
file_path = "graph.pdf" | |
fig.save_fig(file_path) | |
plt.close() | |
# plt.savefig(file_path) | |
# plt.close() | |
# Return image as response | |
# return Response(content=img_buffer.getvalue(), media_type="image/png") | |
# return FileResponse(file_path, media_type="image/png") | |
return FileResponse(file_path, media_type="application/pdf", filename="graph.pdf") |