From a9df16db4720d4b7b4514cb3e2ea6e22bd9dac94 Mon Sep 17 00:00:00 2001 From: garret1317 Date: Mon, 11 Aug 2025 08:20:24 +0100 Subject: [PATCH] traverse_obj: allow traversal of dataclasses (for protobug) --- yt_dlp/utils/traversal.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/yt_dlp/utils/traversal.py b/yt_dlp/utils/traversal.py index 76b51f53d1..ce2ed186b5 100644 --- a/yt_dlp/utils/traversal.py +++ b/yt_dlp/utils/traversal.py @@ -3,6 +3,7 @@ import collections import collections.abc import contextlib +import dataclasses import functools import http.cookies import inspect @@ -233,6 +234,8 @@ def apply_specials(element): result = list(map(apply_specials, obj.iterfind(xpath))) else: result = apply_specials(obj) + elif dataclasses.is_dataclass(obj): + result = getattr(obj, key) return branching, result if branching else (result,)