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