Esempio n. 1
0
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
Esempio n. 2
0
 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
Esempio n. 3
0
    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'
Esempio n. 4
0
    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'
Esempio n. 5
0
 def __init__(self, templatefile, inputstore):
     self.templatefile = templatefile
     self.templatestore = jsonl10n.JsonFile(templatefile)
     self.ouputstore = jsonl10n.JsonFile()
     self.inputstore = inputstore
Esempio n. 6
0
 def __init__(self, templatefile, inputstore):
     from translate.storage import jsonl10n
     self.templatefile = templatefile
     self.templatestore = jsonl10n.JsonFile(templatefile)
     self.inputstore = inputstore