forked from bartvdbraak/blender
Update/fixes (was escaping more chars than needed!)
This commit is contained in:
parent
30037194cd
commit
3dacc164e4
@ -100,8 +100,11 @@ PYGETTEXT_KEYWORDS = (() +
|
|||||||
tuple((r"{}\(\s*" + _ctxt_re + r"\s*,\s*"+ _msg_re + r"\s*\)").format(it)
|
tuple((r"{}\(\s*" + _ctxt_re + r"\s*,\s*"+ _msg_re + r"\s*\)").format(it)
|
||||||
for it in ("CTX_IFACE_", "CTX_TIP_", "CTX_N_"))
|
for it in ("CTX_IFACE_", "CTX_TIP_", "CTX_N_"))
|
||||||
)
|
)
|
||||||
#GETTEXT_KEYWORDS = ("IFACE_", "CTX_IFACE_:1c,2", "TIP_", "CTX_TIP_:1c,2",
|
|
||||||
# "N_", "CTX_N_:1c,2")
|
ESCAPE_RE = (
|
||||||
|
('((?<!\\\\)"|(?<!\\\\)\\\\(?!\\\\|"))', r"\\\1"),
|
||||||
|
('\t', r"\\t"),
|
||||||
|
)
|
||||||
|
|
||||||
# Should po parser warn when finding a first letter not capitalized?
|
# Should po parser warn when finding a first letter not capitalized?
|
||||||
WARN_MSGID_NOT_CAPITALIZED = True
|
WARN_MSGID_NOT_CAPITALIZED = True
|
||||||
|
@ -71,6 +71,8 @@ def process_po(po, lang):
|
|||||||
# update po file
|
# update po file
|
||||||
cmd = (GETTEXT_MSGMERGE_EXECUTABLE,
|
cmd = (GETTEXT_MSGMERGE_EXECUTABLE,
|
||||||
"--update",
|
"--update",
|
||||||
|
"-w", "1", # XXX Ugly hack to prevent msgmerge merging
|
||||||
|
# short source comments together!
|
||||||
"--no-wrap",
|
"--no-wrap",
|
||||||
"--backup=none",
|
"--backup=none",
|
||||||
"--lang={}".format(lang),
|
"--lang={}".format(lang),
|
||||||
|
@ -59,16 +59,6 @@ NC_ALLOWED = settings.WARN_MSGID_NOT_CAPITALIZED_ALLOWED
|
|||||||
SPELL_CACHE = settings.SPELL_CACHE
|
SPELL_CACHE = settings.SPELL_CACHE
|
||||||
|
|
||||||
|
|
||||||
#def generate_valid_potfiles(final_potfiles):
|
|
||||||
# "Generates a temp potfiles.in with aboslute paths."
|
|
||||||
# with open(FILE_NAME_POTFILES, 'r', 'utf-8') as f, \
|
|
||||||
# open(final_potfiles, 'w', 'utf-8') as w:
|
|
||||||
# for line in f:
|
|
||||||
# line = utils.stripeol(line)
|
|
||||||
# if line:
|
|
||||||
# w.write("".join((os.path.join(SOURCE_DIR,
|
|
||||||
# os.path.normpath(line)), "\n")))
|
|
||||||
|
|
||||||
# Do this only once!
|
# Do this only once!
|
||||||
# Get contexts defined in blf.
|
# Get contexts defined in blf.
|
||||||
CONTEXTS = {}
|
CONTEXTS = {}
|
||||||
@ -79,7 +69,7 @@ with open(os.path.join(SOURCE_DIR, settings.PYGETTEXT_CONTEXTS_DEFSRC)) as f:
|
|||||||
# (key=C_macro_name, value=C_string).
|
# (key=C_macro_name, value=C_string).
|
||||||
CONTEXTS = dict(m.groups() for m in reg.finditer(f))
|
CONTEXTS = dict(m.groups() for m in reg.finditer(f))
|
||||||
|
|
||||||
# Build regexes to extract messages (with optinal contexts) from C source.
|
# Build regexes to extract messages (with optional contexts) from C source.
|
||||||
pygettexts = tuple(re.compile(r).search
|
pygettexts = tuple(re.compile(r).search
|
||||||
for r in settings.PYGETTEXT_KEYWORDS)
|
for r in settings.PYGETTEXT_KEYWORDS)
|
||||||
_clean_str = re.compile(settings.str_clean_re).finditer
|
_clean_str = re.compile(settings.str_clean_re).finditer
|
||||||
@ -203,6 +193,8 @@ def gen_empty_pot():
|
|||||||
return utils.gen_empty_messages(blender_rev, time_str, year_str)
|
return utils.gen_empty_messages(blender_rev, time_str, year_str)
|
||||||
|
|
||||||
|
|
||||||
|
escape_re = tuple(re.compile(r[0]) for r in settings.ESCAPE_RE)
|
||||||
|
escape = lambda s, n: escape_re[n].sub(settings.ESCAPE_RE[n][1], s)
|
||||||
def merge_messages(msgs, states, messages, do_checks, spell_cache):
|
def merge_messages(msgs, states, messages, do_checks, spell_cache):
|
||||||
num_added = num_present = 0
|
num_added = num_present = 0
|
||||||
for (context, msgid), srcs in messages.items():
|
for (context, msgid), srcs in messages.items():
|
||||||
@ -214,9 +206,8 @@ def merge_messages(msgs, states, messages, do_checks, spell_cache):
|
|||||||
print("\tFrom:\n\t\t" + "\n\t\t".join(srcs))
|
print("\tFrom:\n\t\t" + "\n\t\t".join(srcs))
|
||||||
|
|
||||||
# Escape some chars in msgid!
|
# Escape some chars in msgid!
|
||||||
msgid = msgid.replace("\\", "\\\\")
|
for n in range(len(escape_re)):
|
||||||
msgid = msgid.replace("\"", "\\\"")
|
msgid = escape(msgid, n)
|
||||||
msgid = msgid.replace("\t", "\\t")
|
|
||||||
|
|
||||||
srcs = [COMMENT_PREFIX_SOURCE + s for s in srcs]
|
srcs = [COMMENT_PREFIX_SOURCE + s for s in srcs]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user