[ytdl] ignore SyntaxErrors when trying to import a module

pull/5071/merge
Mike Fährmann 3 weeks ago
parent cf8e04d999
commit 127aa45834
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -42,8 +42,9 @@ class YoutubeDLDownloader(DownloaderBase):
if not ytdl_instance:
try:
module = ytdl.import_module(self.config("module"))
except ImportError as exc:
self.log.error("Cannot import module '%s'", exc.name)
except (ImportError, SyntaxError) as exc:
self.log.error("Cannot import module '%s'",
getattr(exc, "name", ""))
self.log.debug("", exc_info=True)
self.download = lambda u, p: False
return False

@ -18,7 +18,7 @@ def import_module(module_name):
if module_name is None:
try:
return __import__("yt_dlp")
except ImportError:
except (ImportError, SyntaxError):
return __import__("youtube_dl")
return __import__(module_name.replace("-", "_"))

@ -22,7 +22,7 @@ class Test_CommandlineArguments(unittest.TestCase):
def setUpClass(cls):
try:
cls.module = __import__(cls.module_name)
except ImportError:
except (ImportError, SyntaxError):
raise unittest.SkipTest("cannot import module '{}'".format(
cls.module_name))
cls.default = ytdl.parse_command_line(cls.module, [])

Loading…
Cancel
Save