X-Git-Url: https://jfr.im/git/yt-dlp.git/blobdiff_plain/88d8928bf7630801865cf8728ae5c77234324b7b..d4b52ce3fcb8d9578ed12365648eaba8718c603e:/yt_dlp/plugins.py diff --git a/yt_dlp/plugins.py b/yt_dlp/plugins.py index 6eecdb4d0..3cc879fd7 100644 --- a/yt_dlp/plugins.py +++ b/yt_dlp/plugins.py @@ -86,11 +86,14 @@ def _get_package_paths(*root_paths, containing_folder='plugins'): parts = Path(*fullname.split('.')) for path in orderedSet(candidate_locations, lazy=True): candidate = path / parts - if candidate.is_dir(): - yield candidate - elif path.suffix in ('.zip', '.egg', '.whl'): - if parts in dirs_in_zip(path): + try: + if candidate.is_dir(): yield candidate + elif path.suffix in ('.zip', '.egg', '.whl') and path.is_file(): + if parts in dirs_in_zip(path): + yield candidate + except PermissionError as e: + write_string(f'Permission error while accessing modules in "{e.filename}"\n') def find_spec(self, fullname, path=None, target=None): if fullname not in self.packages: