3 from ..objects.base
import LottieObject, LottieBase
4 from ..objects.properties
import MultiDimensional, Value, ShapeProperty
5 from ..objects.layers
import Layer
8 def _prettyprint_scalar(lottie_object, out=sys.stdout):
9 if isinstance(lottie_object, float)
and lottie_object == round(lottie_object):
10 lottie_object =
int(lottie_object)
11 return str(lottie_object)
14 def prettyprint(lottie_object, out=sys.stdout, indent=" ", _i=""):
15 if isinstance(lottie_object, LottieObject):
16 out.write(lottie_object.__class__.__name__)
19 maxk = max(map(
lambda x: len(x.name), lottie_object._props))
20 for k
in lottie_object._props:
22 out.write(k.name.ljust(maxk))
25 elif isinstance(lottie_object, (list, tuple)):
26 if not lottie_object
or (
not isinstance(lottie_object[0], LottieBase)
and len(lottie_object) < 16):
28 out.write(
", ".join(map(_prettyprint_scalar, lottie_object)))
32 for k
in lottie_object:
33 out.write(_i + indent)
38 out.write(_prettyprint_scalar(lottie_object, out))
42 def _prettyprint_summary_printable(obj):
43 if isinstance(obj, LottieObject):
44 return not isinstance(obj, (MultiDimensional, Value, ShapeProperty))
45 return obj
and isinstance(obj, (list, tuple))
and isinstance(obj[0], LottieObject)
49 if isinstance(lottie_object, LottieObject):
50 out.write(lottie_object.__class__.__name__)
51 name = getattr(lottie_object,
"name",
None)
53 out.write(
" %r" % name)
54 if isinstance(lottie_object, Layer):
55 out.write(
" %s -> %s" % (lottie_object.index, lottie_object.parent_index))
58 for k
in lottie_object._props:
59 val = k.get(lottie_object)
60 if _prettyprint_summary_printable(val):
65 elif _prettyprint_summary_printable(lottie_object):
67 for k
in lottie_object:
68 out.write(_i + indent)
def prettyprint_summary(lottie_object, out=sys.stdout, indent=" ", _i="")
def prettyprint(lottie_object, out=sys.stdout, indent=" ", _i="")