Files
ds_task_marketing_assistant…/backend/main.py
T

60 lines
1.9 KiB
Python

from fastapi import FastAPI, HTTPException
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel
from typing import Optional, List, Dict, Any
import uvicorn
from copywriter import generate_marketing_copy
from brand_style import BrandStyleManager
from config import settings
from fastapi.templating import Jinja2Templates
from fastapi import Request
class CopyRequest(BaseModel):
prompt: str
app = FastAPI(title="Marketing Assistant AI")
# Add CORS middleware
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # Allows all origins
allow_credentials=True,
allow_methods=["*"], # Allows all methods
allow_headers=["*"], # Allows all headers
)
# Initialize templates
templates = Jinja2Templates(directory="backend/templates")
# Initialize brand style manager
@app.get("/")
def root(request: Request):
return templates.TemplateResponse("index.html", {"request": request})
@app.get("/generate-copy")
def create_marketing_copy(request: Request):
print(f"Received request: {request}")
# print(f"Received prompt: {request.prompt}")
generated_copy = "Something"
# print(f"Generated copy: {generated_copy}")
return templates.TemplateResponse("index.html", {"request": request, "generated_copy": generated_copy})
# try:
# # Generate the marketing copy using the simplified function
# generated_copy = generate_marketing_copy(request.prompt)
# print(f"Generated copy: {generated_copy}")
# return {
# "status": "success",
# "data": {
# "generated_copy": generated_copy
# }
# }
# except Exception as e:
# print(f"Error generating copy: {str(e)}")
# raise HTTPException(status_code=500, detail=str(e))
if __name__ == "__main__":
uvicorn.run("main:app", host="localhost", port=8000, reload=True)