skip folder we can't access
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Fri, 8 Jul 2022 00:15:53 +0000 (02:15 +0200)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Fri, 8 Jul 2022 00:15:53 +0000 (02:15 +0200)
music_assistant/music_providers/filesystem.py

index de89255958088a5017f2baf1aaf8edd056a898dc..b347dda5467fc996ce6627568df9ca39ccb834d4 100644 (file)
@@ -57,16 +57,15 @@ async def scantree(path: str) -> AsyncGenerator[os.DirEntry, None]:
 
     loop = asyncio.get_running_loop()
     try:
-        entries = await loop.run_in_executor(None, os.scandir, path)
-    except (OSError, PermissionError) as err:
-        LOGGER.warning("Skip folder %s: %s", path, str(err))
-    else:
-        for entry in entries:
+        for entry in await loop.run_in_executor(None, os.scandir, path):
             if await loop.run_in_executor(None, is_dir, entry):
                 async for subitem in scantree(entry.path):
                     yield subitem
             else:
                 yield entry
+    except (OSError, PermissionError) as err:
+        LOGGER.warning("Skip folder %s: %s", path, str(err))
+        return
 
 
 def get_parentdir(base_path: str, name: str) -> str | None: