|
from fastapi import FastAPI, File, UploadFile |
|
from fastapi.responses import JSONResponse |
|
from fastapi.requests import Request |
|
from google.oauth2 import service_account |
|
from googleapiclient.discovery import build |
|
from googleapiclient.errors import HttpError |
|
from gradio_interface import GradioInterface |
|
from gradio import Interface, outputs |
|
import os |
|
import json |
|
|
|
app = FastAPI() |
|
|
|
gradio_interface = GradioInterface() |
|
|
|
@app.post("/image_search") |
|
async def image_search(file: UploadFile = File(...)): |
|
|
|
data = await file.read() |
|
|
|
image_data = doPost(data) |
|
|
|
drive_service = build('drive', 'v3', credentials=get_credentials()) |
|
file_metadata = {'name': 'image.jpg', 'mimeType': 'image/jpeg'} |
|
media = MediaFileUpload('image.jpg', mimetype='image/jpeg', resumable=True) |
|
file = drive_service.files().create(body=file_metadata, media_body=media, fields='id').execute() |
|
|
|
upload_to_s3(file.get('id')) |
|
|
|
secret_data = get_secret_data() |
|
|
|
create_flow_diagram(secret_data) |
|
|
|
create_system_documentation(secret_data) |
|
return JSONResponse(content={"message": "Image uploaded successfully"}, status_code=200) |
|
|
|
def doPost(data): |
|
|
|
pass |
|
|
|
def get_credentials(): |
|
|
|
pass |
|
|
|
def upload_to_s3(file_id): |
|
|
|
pass |
|
|
|
def get_secret_data(): |
|
|
|
pass |
|
|
|
def create_flow_diagram(secret_data): |
|
|
|
pass |
|
|
|
def create_system_documentation(secret_data): |
|
|
|
pass |