def convertjson(input_file, output_file, template_file, pot=False, duplicatestyle="msgctxt", dialect="default", filter=None): """Reads in *input_file* using jsonl10n, converts using :class:`json2po`, writes to *output_file*.""" from translate.storage import jsonl10n if filter is not None: filter = filter.split(',') input_store = jsonl10n.JsonFile(input_file, filter=filter) convertor = json2po() if template_file is None: output_store = convertor.convert_store(input_store, duplicatestyle=duplicatestyle) else: template_store = jsonl10n.JsonFile(template_file) output_store = convertor.merge_store(template_store, input_store, blankmsgstr=pot, duplicatestyle=duplicatestyle) if output_store.isempty(): return 0 output_store.serialize(output_file) return 1
def json2po(self, jsonsource, template=None, filter=None): """helper that converts json source to po source without requiring files""" inputfile = wStringIO.StringIO(jsonsource) inputjson = jsonl10n.JsonFile(inputfile, filter=filter) convertor = json2po.json2po() outputpo = convertor.convert_store(inputjson) return outputpo
def test_serialize(self): store = jsonl10n.JsonFile() store.parse('{"key": "value"}') out = BytesIO() src = store.serialize(out) assert out.getvalue() == b'{\n "key": "value"\n}\n'
def test_ordering(self): store = jsonl10n.JsonFile() store.parse('''{ "foo": "foo", "bar": "bar", "baz": "baz" }''') assert store.units[0].source == 'foo' assert store.units[2].source == 'baz'
def __init__(self, templatefile, inputstore): self.templatefile = templatefile self.templatestore = jsonl10n.JsonFile(templatefile) self.ouputstore = jsonl10n.JsonFile() self.inputstore = inputstore
def __init__(self, templatefile, inputstore): from translate.storage import jsonl10n self.templatefile = templatefile self.templatestore = jsonl10n.JsonFile(templatefile) self.inputstore = inputstore