From 7086177a5805596e3ad2fa059995d1b132ce38f8 Mon Sep 17 00:00:00 2001 From: sherl Date: Sun, 14 Sep 2025 01:06:40 +0200 Subject: [PATCH] fix: make safeTraverse handle IndexErrors --- ythdd_globals.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ythdd_globals.py b/ythdd_globals.py index 9122230..6484539 100644 --- a/ythdd_globals.py +++ b/ythdd_globals.py @@ -95,15 +95,15 @@ def translateLinks(link): def getUptime(): return int(time.time()) - starttime -def safeTraverse(obj: dict, path: list, default=None): +def safeTraverse(obj: dict, path: list, default=None, quiet: bool = False): result = obj try: for x in path: #print(f"traversing {result} with respect to {x}") result = result[x] - except (KeyError, TypeError): + except (KeyError, TypeError, IndexError): result = default - print(f"error reading: {' -> '.join(path)} - returning: {default}") + if not quiet: print(f"error reading: {' -> '.join(path)} - returning: {default}") finally: return result