From c49b604172f97f5dd098cecc3d08be2515d4f1ff Mon Sep 17 00:00:00 2001 From: arch1t3cht Date: Tue, 16 Jul 2024 16:22:33 +0200 Subject: [PATCH] vapoursynth: Improve lsmas plugin version detection Some lsmas versions (like HomeOfAviSynthPlusEvolution's, the currently actively maintained one) support the "cachedir" argument but do not have a "Version" function. Hence, it's better to just check for the argument directly. --- automation/vapoursynth/aegisub_vs.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/automation/vapoursynth/aegisub_vs.py b/automation/vapoursynth/aegisub_vs.py index 7de104ddc..ef610b403 100644 --- a/automation/vapoursynth/aegisub_vs.py +++ b/automation/vapoursynth/aegisub_vs.py @@ -195,7 +195,8 @@ def wrap_lwlibavsource(filename: str, cachedir: str | None = None, **kwargs: Any ensure_plugin("lsmas", "libvslsmashsource", "To use Aegisub's LWLibavSource wrapper, the `lsmas` plugin for VapourSynth must be installed") - if b"-Dcachedir" not in core.lsmas.Version()["config"]: # type: ignore + import inspect + if "cachedir" not in inspect.getfullargspec(vs.core.lsmas.LWLibavSource).args: raise vs.Error("To use Aegisub's LWLibavSource wrapper, the `lsmas` plugin must support the `cachedir` option for LWLibavSource.") clip = core.lsmas.LWLibavSource(source=filename, cachefile=cachefile, **kwargs)