Team Ai
Apppublic

Pranav1908/CodeReviewAutomation

sourceHugging Facemitupdated 2y agoView on Hugging Face
0likes
main.py48 linesDownload Raw Back to root
1from fastapi import FastAPI,File,UploadFile,HTTPException2from tempfile import NamedTemporaryFile3from app import generate4from app import loadContext5from IPython.display import Markdown6import os7from pydantic import BaseModel8import json9 10 11# Initialize FastAPI app12app = FastAPI()13 14# Pydantic model for input validation15class CodeSnippet(BaseModel):16    code: str17 18@app.get("/")19async def root():20    return {"Code Review Automation": "Version 1.0 'First Draft'"}21 22@app.post("/AutomateReview/")23def automate_review(snippet : CodeSnippet):24    try:25        print(f"Received snippet: {snippet}")26        escaped_code = json.dumps(snippet.code)27        print(escaped_code)28        result = generate(escaped_code)29        return {"answer": Markdown(result)}30    except Exception as e:31        return {"error": str(e)}32 33 34@app.post("/loadFile/")35def load_file(file: UploadFile = File(...)):36    try:37        with NamedTemporaryFile(delete=False) as tmp_file:38            tmp_file.write(file.file.read())39            temp_file_name=tmp_file.name40 41        file_content = loadContext(temp_file_name)42        result = generate(file_content)43 44        os.remove(temp_file_name)45        return {"answer":Markdown(result)}46    except Exception as e:47        raise HTTPException(status_code=500,detail=str(e))48