From 462e4bee87f085ae775eaa953a832bfcf6503ca3 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Fri, 1 Mar 2013 14:28:38 +0000 Subject: [PATCH] More tweaks (gaining about ten seconds for each po in update branches process!). --- .../bl_i18n_utils/bl_extract_messages.py | 2 -- .../scripts/modules/bl_i18n_utils/utils.py | 19 +++++++++++++------ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py b/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py index 7876a443035..21c0a943984 100644 --- a/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py +++ b/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py @@ -788,9 +788,7 @@ def dump_messages(do_messages, do_checks, settings): dump_src_messages(msgs, reports, settings) # Get strings from addons' categories. - print("foo, bar", bpy.types.WindowManager.addon_filter[1]['items'](bpy.context.window_manager, bpy.context)) for uid, label, tip in bpy.types.WindowManager.addon_filter[1]['items'](bpy.context.window_manager, bpy.context): - print(uid, label, tip) process_msg(msgs, settings.DEFAULT_CONTEXT, label, "Addons' categories", reports, None, settings) if tip: process_msg(msgs, settings.DEFAULT_CONTEXT, tip, "Addons' categories", reports, None, settings) diff --git a/release/scripts/modules/bl_i18n_utils/utils.py b/release/scripts/modules/bl_i18n_utils/utils.py index 5bb0a072ccb..f9890d79144 100644 --- a/release/scripts/modules/bl_i18n_utils/utils.py +++ b/release/scripts/modules/bl_i18n_utils/utils.py @@ -29,6 +29,7 @@ import re import struct import sys import tempfile +#import time from bl_i18n_utils import settings, rtl_utils @@ -257,15 +258,23 @@ class I18nMessage: @classmethod def do_escape(cls, txt): """Replace some chars by their escaped versions!""" - txt = txt.replace("\n", "\\n").replace("\t", "\\t") - txt = cls._esc_quotes.sub(r'\1\"', txt) + if "\n" in txt: + txt = txt.replace("\n", r"\n") + if "\t" in txt: + txt.replace("\t", r"\t") + if '"' in txt: + txt = cls._esc_quotes.sub(r'\1\"', txt) return txt @classmethod def do_unescape(cls, txt): """Replace escaped chars by real ones!""" - txt = txt.replace("\\n", "\n").replace("\\t", "\t") - txt = cls._unesc_quotes.sub(r'\1"', txt) + if r"\n" in txt: + txt = txt.replace(r"\n", "\n") + if r"\t" in txt: + txt = txt.replace(r"\t", "\t") + if r'\"' in txt: + txt = cls._unesc_quotes.sub(r'\1"', txt) return txt def escape(self, do_all=False): @@ -277,8 +286,6 @@ class I18nMessage: names = self._esc_names_all if do_all else self._esc_names for name in names: setattr(self, name, [self.do_unescape(l) for l in getattr(self, name)]) - if None in getattr(self, name): - print(getattr(self, name)) class I18nMessages: