[visitor] Don't recurse on private or TTFont attributes
This commit is contained in:
parent
24d63d068e
commit
8213c58a38
@ -70,6 +70,8 @@ class Visitor(object):
|
||||
_visitors = self._visitorsFor(obj)
|
||||
defaultVisitor = _visitors.get("*", None)
|
||||
for key in keys:
|
||||
if key[0] == "_":
|
||||
continue
|
||||
value = getattr(obj, key)
|
||||
visitorFunc = _visitors.get(key, defaultVisitor)
|
||||
if visitorFunc is not None:
|
||||
|
@ -5,6 +5,11 @@ from fontTools.ttLib import TTFont
|
||||
|
||||
|
||||
class TTVisitor(Visitor):
|
||||
def visitAttr(self, obj, attr, value, *args, **kwargs):
|
||||
if isinstance(value, TTFont):
|
||||
return False
|
||||
super().visitAttr(obj, attr, value, *args, **kwargs)
|
||||
|
||||
def visit(self, obj, *args, **kwargs):
|
||||
if hasattr(obj, "ensureDecompiled"):
|
||||
obj.ensureDecompiled(recurse=False)
|
||||
|
Loading…
x
Reference in New Issue
Block a user