diff --git a/app/library/Utils.py b/app/library/Utils.py index be338ec4..4251bb5e 100644 --- a/app/library/Utils.py +++ b/app/library/Utils.py @@ -465,6 +465,13 @@ def arg_converter(args: str) -> dict: if "postprocessors" in diff: diff["postprocessors"] = [pp for pp in diff["postprocessors"] if pp not in default_opts["postprocessors"]] + if "match_filter" in diff: + import inspect + + matchFilter = inspect.getclosurevars(diff["match_filter"].func).nonlocals["filters"] + if isinstance(matchFilter, set): + diff["match_filter"] = {"filters": list(matchFilter)} + from .encoder import Encoder return json.loads(json.dumps(diff, cls=Encoder)) @@ -691,7 +698,7 @@ def get( if not path: return data - # If data is not a dict or list, attempt to convert it (similar to PHP's get_object_vars). + # If data is not a dict or list, attempt to convert it. if not isinstance(data, dict | list): try: data = vars(data) diff --git a/app/library/YTDLPOpts.py b/app/library/YTDLPOpts.py index a414543e..1a5fd206 100644 --- a/app/library/YTDLPOpts.py +++ b/app/library/YTDLPOpts.py @@ -142,4 +142,14 @@ class YTDLPOpts(metaclass=Singleton): data["impersonate"] = ImpersonateTarget.from_str(data["impersonate"]) + if ( + "match_filter" in data + and isinstance(data["match_filter"], dict) + and "filters" in data["match_filter"] + and len(data["match_filter"]["filters"]) > 0 + ): + from yt_dlp.utils import match_filter_func + + data["match_filter"] = match_filter_func(data["match_filter"]["filters"]) + return data diff --git a/ui/assets/css/style.css b/ui/assets/css/style.css index 0867fd4b..dced2c82 100644 --- a/ui/assets/css/style.css +++ b/ui/assets/css/style.css @@ -286,3 +286,7 @@ hr { max-height: unset !important; width: unset !important; } + +.is-auto { + unicode-bidi: embed; +} diff --git a/ui/layouts/default.vue b/ui/layouts/default.vue index 068887f6..3aa65669 100644 --- a/ui/layouts/default.vue +++ b/ui/layouts/default.vue @@ -27,7 +27,7 @@ - Browser + Files diff --git a/ui/pages/browser/[...slug].vue b/ui/pages/browser/[...slug].vue index 07147039..aa80639a 100644 --- a/ui/pages/browser/[...slug].vue +++ b/ui/pages/browser/[...slug].vue @@ -19,6 +19,20 @@
+
+ + + + +
+ +
+ +
+