diff options
| author | Scott Shawcroft <scott@tannewt.org> | 2018-08-09 14:16:28 -0700 |
|---|---|---|
| committer | Scott Shawcroft <scott@tannewt.org> | 2018-08-09 14:16:28 -0700 |
| commit | 1835f1ab14d2532684224d1eccaa5d219b296878 (patch) | |
| tree | 6802f6482c56d9181811fc080481676d72fc9879 | |
| parent | 3123cc69c4a860507e2e7304a3e4dc67c4caa9c8 (diff) | |
Update filter and handle nested quotes
| -rw-r--r-- | py/makeqstrdefs.py | 5 | ||||
| -rw-r--r-- | py/mkrules.mk | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/py/makeqstrdefs.py b/py/makeqstrdefs.py index 06cf9078a..cb27ced35 100644 --- a/py/makeqstrdefs.py +++ b/py/makeqstrdefs.py @@ -75,6 +75,7 @@ def qstr_unescape(qstr): def process_file(f): re_line = re.compile(r"#[line]*\s(\d+)\s\"([^\"]+)\"") re_qstr = re.compile(r'MP_QSTR_[_a-zA-Z0-9]+') + re_translate = re.compile(r'translate\(\"((?:(?=(\\?))\2.)*?)\"\)') output = [] last_fname = None lineno = 0 @@ -99,8 +100,8 @@ def process_file(f): name = match.replace('MP_QSTR_', '') if name not in QSTRING_BLACK_LIST: output.append('Q(' + qstr_unescape(name) + ')') - for match in re.findall(r'translate\(\"([^\"]+)\"\)', line): - output.append('TRANSLATE("' + match + '")') + for match in re_translate.findall(line): + output.append('TRANSLATE("' + match[0] + '")') lineno += 1 write_out(last_fname, output) diff --git a/py/mkrules.mk b/py/mkrules.mk index f1276f804..0a37eadef 100644 --- a/py/mkrules.mk +++ b/py/mkrules.mk @@ -79,7 +79,7 @@ $(OBJ): | $(HEADER_BUILD)/qstrdefs.enum.h $(HEADER_BUILD)/mpversion.h # - else, process all source files ($^) [this covers "make -B" which can set $? to empty] $(HEADER_BUILD)/qstr.i.last: $(SRC_QSTR) $(SRC_QSTR_PREPROCESSOR) $(QSTR_GLOBAL_DEPENDENCIES) | $(HEADER_BUILD)/mpversion.h $(STEPECHO) "GEN $@" - $(Q)grep -lE "(MP_QSTR|i18n)" $(if $(filter $?,$(QSTR_GLOBAL_DEPENDENCIES)),$^,$(if $?,$?,$^)) | xargs $(CPP) $(QSTR_GEN_EXTRA_CFLAGS) $(CFLAGS) $(SRC_QSTR_PREPROCESSOR) >$(HEADER_BUILD)/qstr.i.last; + $(Q)grep -lE "(MP_QSTR|translate)" $(if $(filter $?,$(QSTR_GLOBAL_DEPENDENCIES)),$^,$(if $?,$?,$^)) | xargs $(CPP) $(QSTR_GEN_EXTRA_CFLAGS) $(CFLAGS) $(SRC_QSTR_PREPROCESSOR) >$(HEADER_BUILD)/qstr.i.last; $(HEADER_BUILD)/qstr.split: $(HEADER_BUILD)/qstr.i.last $(PY_SRC)/makeqstrdefs.py $(STEPECHO) "GEN $@" |
