Spaces:
Build error
Build error
| 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) |