[Bf-extensions-cvs] [bedce097] master: UI Translate: add operator & button to cleanup branches.

Bastien Montagne noreply at git.blender.org
Sat Dec 22 16:06:07 CET 2018


Commit: bedce09739b00c89e990a83ceb64a5e1ddc0c04f
Author: Bastien Montagne
Date:   Sat Dec 22 16:05:28 2018 +0100
Branches: master
https://developer.blender.org/rBAbedce09739b00c89e990a83ceb64a5e1ddc0c04f

UI Translate: add operator & button to cleanup branches.

===================================================================

M	ui_translate/__init__.py
M	ui_translate/update_svn.py
M	ui_translate/update_ui.py

===================================================================

diff --git a/ui_translate/__init__.py b/ui_translate/__init__.py
index baab2afa..51686fd4 100644
--- a/ui_translate/__init__.py
+++ b/ui_translate/__init__.py
@@ -21,7 +21,7 @@
 bl_info = {
     "name": "Manage UI translations",
     "author": "Bastien Montagne",
-    "version": (1, 1, 5),
+    "version": (1, 2, 0),
     "blender": (2, 80, 0),
     "location": "Main \"File\" menu, text editor, any UI control",
     "description": "Allows managing UI translations directly from Blender "
diff --git a/ui_translate/update_svn.py b/ui_translate/update_svn.py
index 28c1f46a..43d9de8e 100644
--- a/ui_translate/update_svn.py
+++ b/ui_translate/update_svn.py
@@ -48,13 +48,11 @@ class UI_OT_i18n_updatetranslation_svn_branches(Operator):
     bl_idname = "ui.i18n_updatetranslation_svn_branches"
     bl_label = "Update I18n Branches"
 
-    # Operator Arguments
     use_skip_pot_gen: BoolProperty(
         name="Skip POT",
         description="Skip POT file generation",
         default=False,
     )
-    # /End Operator Arguments
 
     def execute(self, context):
         if not hasattr(self, "settings"):
@@ -110,6 +108,40 @@ class UI_OT_i18n_updatetranslation_svn_branches(Operator):
         return wm.invoke_props_dialog(self)
 
 
+class UI_OT_i18n_cleanuptranslation_svn_branches(Operator):
+    """Clean up i18n svn's branches (po files)"""
+    bl_idname = "ui.i18n_cleanuptranslation_svn_branches"
+    bl_label = "Clean up I18n Branches"
+
+    def execute(self, context):
+        if not hasattr(self, "settings"):
+            self.settings = settings.settings
+        i18n_sett = context.window_manager.i18n_update_svn_settings
+        # 'DEFAULT' and en_US are always valid, fully-translated "languages"!
+        stats = {"DEFAULT": 1.0, "en_US": 1.0}
+
+        context.window_manager.progress_begin(0, len(i18n_sett.langs) + 1)
+        context.window_manager.progress_update(0)
+        for progress, lng in enumerate(i18n_sett.langs):
+            context.window_manager.progress_update(progress + 1)
+            if not lng.use:
+                print("Skipping {} language ({}).".format(lng.name, lng.uid))
+                continue
+            print("Processing {} language ({}).".format(lng.name, lng.uid))
+            po = utils_i18n.I18nMessages(uid=lng.uid, kind='PO', src=lng.po_path, settings=self.settings)
+            print("Cleaned up {} commented messages.".format(po.clean_commented()))
+            errs = po.check(fix=True)
+            if errs:
+                print("Errors in this po, solved as best as possible!")
+                print("\t" + "\n\t".join(errs))
+            po.write(kind="PO", dest=lng.po_path)
+            print("\n")
+
+        context.window_manager.progress_end()
+
+        return {'FINISHED'}
+
+
 class UI_OT_i18n_updatetranslation_svn_trunk(Operator):
     """Update i18n svn's branches (po files)"""
     bl_idname = "ui.i18n_updatetranslation_svn_trunk"
@@ -176,7 +208,6 @@ class UI_OT_i18n_updatetranslation_svn_statistics(Operator):
     bl_idname = "ui.i18n_updatetranslation_svn_statistics"
     bl_label = "Update I18n Statistics"
 
-    # Operator Arguments
     use_branches: BoolProperty(
         name="Check Branches",
         description="Check po files in branches",
@@ -188,7 +219,6 @@ class UI_OT_i18n_updatetranslation_svn_statistics(Operator):
         description="Check po files in trunk",
         default=False,
     )
-    # /End Operator Arguments
 
     report_name = "i18n_info.txt"
 
@@ -242,6 +272,7 @@ class UI_OT_i18n_updatetranslation_svn_statistics(Operator):
 
 classes = (
     UI_OT_i18n_updatetranslation_svn_branches,
+    UI_OT_i18n_cleanuptranslation_svn_branches,
     UI_OT_i18n_updatetranslation_svn_trunk,
     UI_OT_i18n_updatetranslation_svn_statistics,
 )
diff --git a/ui_translate/update_ui.py b/ui_translate/update_ui.py
index 8fb79bef..e6921055 100644
--- a/ui_translate/update_ui.py
+++ b/ui_translate/update_ui.py
@@ -178,6 +178,8 @@ class UI_PT_i18n_update_translations_settings(Panel):
             col.separator()
             col.operator("ui.i18n_updatetranslation_svn_branches", text="Update Branches")
             col.operator("ui.i18n_updatetranslation_svn_trunk", text="Update Trunk")
+            col.separator()
+            col.operator("ui.i18n_cleanuptranslation_svn_branches", text="Clean up Branches")
             col.operator("ui.i18n_updatetranslation_svn_statistics", text="Statistics")
 
             if i18n_sett.active_lang >= 0 and i18n_sett.active_lang < len(i18n_sett.langs):



More information about the Bf-extensions-cvs mailing list