ConsultorIA / main.py
ViniciusBarros21's picture
Upload folder using huggingface_hub
c62ee22 verified
Raw
History Blame Contribute Delete
2.66 kB
import gradio as gr
import webbrowser
import time
import os
from utils.file_manager import setup_directories
from utils.drive_handler import GoogleDriveHandler
from utils.video_processor import VideoProcessor
setup_directories() #configura os diretórios necessários
downloader = GoogleDriveHandler() #Carrega funções para lidar com o googleDrive
video_processor = VideoProcessor(downloader)
#Funçaão para direcionar a página de login do google e realizar a autenticação
def autenticar_google():
auth_url = downloader.autenticar()
webbrowser.open(auth_url)
return "🔑 Por favor, autentique-se no Google para acessar o Drive."
# Função para autenticar e abrir o link do Gradio automaticamente
def autenticar_e_abrir_link():
time.sleep(3)
link_gradio = "http://localhost:7860"
webbrowser.open(link_gradio)
print(f"O link Gradio foi aberto automaticamente: {link_gradio}")
with gr.Blocks() as app:
gr.Markdown("# 🎥 Processador de Reuniões do Google Meet")
autenticar_btn = gr.Button("Login com Google")
auth_output = gr.Markdown()
autenticar_btn.click(fn=autenticar_google, outputs=[auth_output])
gr.Markdown("Selecionar vídeos do Google Drive")
pastas_dropdown = gr.Dropdown(label="Selecione uma pasta")
listar_pastas_btn = gr.Button("🔄 Atualizar Pastas")
videos_checklist = gr.CheckboxGroup(label="Selecione os vídeos")
listar_videos_btn = gr.Button("📋 Listar Vídeos")
gr.Markdown("Fazer upload de vídeo")
upload_video = gr.File(label="Selecione um video", type="filepath")
# Adicionando checkboxes para definir o tipo de análise da IA
gr.Markdown("### ⚙️ Escolha como deseja processar os vídeos:")
modo_processamento = gr.Radio(
choices=["Consultor de Negócios (Recomendar Benefícios)", "Resumir Reunião (Gerar Resumo)", "Gerar Resumo em Excel"],
label="Selecione um modo de processamento",
type="value"
)
processar_btn = gr.Button("▶️ Processar")
resultado_output = gr.Markdown()
download_btn = gr.File(label="Baixar resultado")
listar_pastas_btn.click(fn=downloader.list_folders, outputs=[pastas_dropdown])
listar_videos_btn.click(fn=downloader.list_videos, inputs=[pastas_dropdown], outputs=[videos_checklist])
processar_btn.click(
fn=video_processor.processar_videos,
inputs=[pastas_dropdown, videos_checklist, upload_video, modo_processamento],
outputs=[resultado_output, download_btn]
)
autenticar_e_abrir_link()
app.launch(share=True)