equal
deleted
inserted
replaced
344 ) |
344 ) |
345 elif util.safehasattr(obj, b'keys'): |
345 elif util.safehasattr(obj, b'keys'): |
346 out = [ |
346 out = [ |
347 b'"%s": %s' |
347 b'"%s": %s' |
348 % (encoding.jsonescape(k, paranoid=paranoid), json(v, paranoid)) |
348 % (encoding.jsonescape(k, paranoid=paranoid), json(v, paranoid)) |
349 for k, v in sorted(pycompat.iteritems(obj)) |
349 for k, v in sorted(obj.items()) |
350 ] |
350 ] |
351 return b'{' + b', '.join(out) + b'}' |
351 return b'{' + b', '.join(out) + b'}' |
352 elif util.safehasattr(obj, b'__iter__'): |
352 elif util.safehasattr(obj, b'__iter__'): |
353 out = [json(i, paranoid) for i in obj] |
353 out = [json(i, paranoid) for i in obj] |
354 return b'[' + b', '.join(out) + b']' |
354 return b'[' + b', '.join(out) + b']' |
546 return text |
546 return text |
547 |
547 |
548 |
548 |
549 def loadfilter(ui, extname, registrarobj): |
549 def loadfilter(ui, extname, registrarobj): |
550 """Load template filter from specified registrarobj""" |
550 """Load template filter from specified registrarobj""" |
551 for name, func in pycompat.iteritems(registrarobj._table): |
551 for name, func in registrarobj._table.items(): |
552 filters[name] = func |
552 filters[name] = func |
553 |
553 |
554 |
554 |
555 # tell hggettext to extract docstrings from these functions: |
555 # tell hggettext to extract docstrings from these functions: |
556 i18nfunctions = filters.values() |
556 i18nfunctions = filters.values() |