""" Classe que será declarada no arquivo main.py para lidar com a autenticação do google e suas além de se adaptar com o Gradio """ from conversor.converter import GoogleDriveDownload import gradio as gr class GoogleDriveHandler: def __init__(self): self.downloader = None #Iniciando sem credenciais def autenticar(self): self.downloader = GoogleDriveDownload() return "Google Drive autenticado com sucesso!" def list_folders(self): #Tenta autenticar no google drive if not self.downloader: return ["❌ Você precisa autenticar primeiro!"] pastas = self.downloader.list_folders() if not pastas: return gr.Dropdown(choices=["Nenhuma pasta encontrada"], value="Nenhuma pasta encontrada") return gr.Dropdown(choices=list(pastas.keys()), value=list(pastas.keys())[0]) def list_videos(self, pasta_selecionada): #Tenta autenticar no google drive if not self.downloader: return ["❌ Você precisa autenticar primeiro!"] pastas = self.downloader.list_folders() pasta_id = pastas.get(pasta_selecionada) if not pasta_id: return ["Nenhuma pasta selecionada"] videos = self.downloader.list_videos(pasta_id) #Lista os videos da pasta selecionada do drive if not isinstance(videos, list): return ["Erro ao carregar vídeos"] video_nomes = [] for video in videos: if isinstance(video, dict) and "name" in video: video_nomes.append(video["name"]) else: print(f"Vídeo ignorado: {video}") # Log para vídeos não processados if not video_nomes: return ["Nenhum vídeo encontrado"] return gr.CheckboxGroup(choices=video_nomes)