mirror of
https://github.com/facebook/sapling.git
synced 2024-10-08 07:49:11 +03:00
formatter: extract function that encode values to json string
This is the stub for tuple support, which will be used to encode ctx.date() in the same manner as jsonchangeset printer.
This commit is contained in:
parent
919b082a9b
commit
c8c3f2cd83
@ -88,6 +88,12 @@ class pickleformatter(baseformatter):
|
||||
baseformatter.end(self)
|
||||
self._ui.write(cPickle.dumps(self._data))
|
||||
|
||||
def _jsonifyobj(v):
|
||||
if isinstance(v, int):
|
||||
return '%d' % v
|
||||
else:
|
||||
return '"%s"' % encoding.jsonescape(v)
|
||||
|
||||
class jsonformatter(baseformatter):
|
||||
def __init__(self, ui, topic, opts):
|
||||
baseformatter.__init__(self, ui, topic, opts)
|
||||
@ -106,10 +112,7 @@ class jsonformatter(baseformatter):
|
||||
first = False
|
||||
else:
|
||||
self._ui.write(",\n")
|
||||
if isinstance(v, int):
|
||||
self._ui.write(' "%s": %d' % (k, v))
|
||||
else:
|
||||
self._ui.write(' "%s": "%s"' % (k, encoding.jsonescape(v)))
|
||||
self._ui.write(' "%s": %s' % (k, _jsonifyobj(v)))
|
||||
self._ui.write("\n }")
|
||||
def end(self):
|
||||
baseformatter.end(self)
|
||||
|
Loading…
Reference in New Issue
Block a user