Skip to content

Commit

Permalink
[print-json] Actually valid json now!
Browse files Browse the repository at this point in the history
  • Loading branch information
behdad committed Aug 16, 2022
1 parent f8e5ea4 commit 82b894c
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions Snippets/print-json.py
@@ -1,6 +1,7 @@
import fontTools.ttLib as ttLib
from fontTools.ttLib.ttVisitor import TTVisitor
from fontTools.misc.textTools import Tag
from array import array


class JsonVisitor(TTVisitor):
Expand Down Expand Up @@ -65,16 +66,15 @@ def visitDict(self, obj, *args, **kwargs):
def visitLeaf(self, obj):
if isinstance(obj, tuple):
obj = list(obj)
elif isinstance(obj, bytes):
obj = list(obj)

if obj is None:
s = "null"
elif obj == True:
elif obj is True:
s = "true"
elif obj == False:
elif obj is False:
s = "false"
elif isinstance(obj, bytes):
s = repr(obj)
s = s[1:]
else:
s = repr(obj)

Expand Down Expand Up @@ -119,6 +119,16 @@ def visit(self, obj):
print('"%s"' % str(obj), end="", file=self.file)
return False

@JsonVisitor.register(array)
def visit(self, obj):
self.visitList(obj)
return False

@JsonVisitor.register(bytearray)
def visit(self, obj):
self.visitList(obj)
return False


if __name__ == "__main__":

Expand Down

0 comments on commit 82b894c

Please sign in to comment.