def po_catalog_export(self): """ Export a catalog from a project into a PO file """ toast_path = "/home/django/Emencia/po_headquarter/dummy_po/" project = Project.objects.get(slug='dummy') catalog = Catalog.objects.get(project=project, locale='fr') #mime_dict = json.loads(catalog.mime_headers) forged_catalog = BabelCatalog(locale=catalog.locale, header_comment=catalog.header_comment, project=project.name, version="0.2.0") print("before add:", len(forged_catalog)) for entry in catalog.translationmsg_set.all().order_by('id'): locations = [ tuple(item) for item in json.loads(entry.template.locations) ] forged_catalog.add(entry.template.message, string=entry.message, locations=locations, flags=entry.template.flags) print("after add:", len(forged_catalog)) print("errors:", [item for item in forged_catalog.check()]) print() print("---------------- Original") fpw = StringIO() write_po(fpw, forged_catalog, sort_by_file=False, ignore_obsolete=True, include_previous=False) print(fpw.getvalue()) fpw.close() print() print("---------------- Updated") fp3 = open(os.path.join(toast_path, '0-3-0.pot'), 'r') template_catalog_3 = read_po(fp3) forged_catalog.update(template_catalog_3) fpw = StringIO() write_po(fpw, forged_catalog, sort_by_file=False, ignore_obsolete=True, include_previous=False) print(fpw.getvalue()) fpw.close()
def po_catalog_export(self): """ Export a catalog from a project into a PO file """ toast_path = "/home/django/Emencia/po_headquarter/dummy_po/" project = Project.objects.get(slug='dummy') catalog = Catalog.objects.get(project=project, locale='fr') #mime_dict = json.loads(catalog.mime_headers) forged_catalog = BabelCatalog( locale=catalog.locale, header_comment=catalog.header_comment, project=project.name, version="0.2.0" ) print "before add:", len(forged_catalog) for entry in catalog.translationmsg_set.all().order_by('id'): locations = [tuple(item) for item in json.loads(entry.template.locations)] forged_catalog.add(entry.template.message, string=entry.message, locations=locations, flags=entry.template.flags) print "after add:", len(forged_catalog) print "errors:", [item for item in forged_catalog.check()] print print "---------------- Original" fpw = StringIO() write_po(fpw, forged_catalog, sort_by_file=False, ignore_obsolete=True, include_previous=False) print fpw.getvalue() fpw.close() print print "---------------- Updated" fp3 = open(os.path.join(toast_path, '0-3-0.pot'), 'r') template_catalog_3 = read_po(fp3) forged_catalog.update(template_catalog_3) fpw = StringIO() write_po(fpw, forged_catalog, sort_by_file=False, ignore_obsolete=True, include_previous=False) print fpw.getvalue() fpw.close()