@@ -180,13 +180,14 @@ def download_file(self, file_id, local_path):
180180 status , done = downloader .next_chunk ()
181181
182182 def list_images_recursively (self , folder_id ):
183- """Generador recursivo con trazas de depuración."""
183+ """
184+ Generador recursivo que busca imágenes en todas las subcarpetas.
185+ INCLUYE UN FRENO (time.sleep) para evitar bloquear la interfaz por exceso de velocidad.
186+ """
184187 if not self .service :
185188 self .authenticate ()
186189
187- # print(f"🔍 Escaneando carpeta ID: {folder_id}...")
188-
189- # 1. BUSCAR IMÁGENES AQUÍ
190+ # --- PARTE 1: BUSCAR IMÁGENES EN LA CARPETA ACTUAL ---
190191 page_token = None
191192 while True :
192193 query = f"'{ folder_id } ' in parents and mimeType contains 'image/' and trashed = false"
@@ -203,17 +204,16 @@ def list_images_recursively(self, folder_id):
203204
204205 files = results .get ('files' , [])
205206 if files :
206- # print(f" 📸 Encontradas {len(files)} imágenes en esta carpeta.")
207+ # Devuelve este lote de imágenes al Worker para que las guarde
207208 yield files
208209
209210 page_token = results .get ('nextPageToken' )
210211 if not page_token :
211212 break
212213
213- # 2. BUSCAR SUBCARPETAS (Para entrar en ellas)
214+ # --- PARTE 2: BUSCAR SUBCARPETAS (RECURSIÓN) ---
214215 page_token = None
215216 while True :
216- # Buscamos carpetas normales
217217 query = f"'{ folder_id } ' in parents and mimeType = 'application/vnd.google-apps.folder' and trashed = false"
218218 try :
219219 results = self .service .files ().list (
@@ -227,11 +227,19 @@ def list_images_recursively(self, folder_id):
227227 break
228228
229229 subfolders = results .get ('files' , [])
230+
231+ # === AQUÍ ESTÁ EL FRENO DE EMERGENCIA ===
230232 if subfolders :
231- print (f" 📂 Encontradas { len (subfolders )} subcarpetas. Entrando..." )
233+ # Importamos time aquí por seguridad si no está arriba
234+ import time
235+
236+ # Pequeña pausa (0.1 segundos) antes de procesar las subcarpetas.
237+ # Esto evita que el script entre en 100 carpetas por segundo y sature la CPU.
238+ time .sleep (0.1 )
239+ # ========================================
232240
233241 for sub in subfolders :
234- # Recursión : Entramos en la subcarpeta
242+ # Llamada recursiva : Entramos en la subcarpeta
235243 yield from self .list_images_recursively (sub ['id' ])
236244
237245 page_token = results .get ('nextPageToken' )
0 commit comments