Overview
Comment: | [build] code simplification |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | build |
Files: | files | file ages | folders |
SHA3-256: |
9094ac60823b5ed03c011827de60fc22 |
User & Date: | olr on 2020-04-22 16:56:58 |
Other Links: | manifest | tags |
Context
2020-04-23
| ||
08:36 | [fr] ajustements check-in: 5ab43f5063 user: olr tags: trunk, fr | |
2020-04-22
| ||
16:56 | [build] code simplification check-in: 9094ac6082 user: olr tags: trunk, build | |
14:59 | [build] make data more readable check-in: e17a78cf83 user: olr tags: trunk, build | |
Changes
Modified compile_rules.py from [c6e75ae902] to [d8be0874f6].
︙ | ︙ | |||
146 147 148 149 150 151 152 | if s.startswith("@@@@"): if bParagraph: print("Error. Graph call can be made only after the first pass (sentence by sentence)") exit() return ["@@@@", s[4:], sLineId] #### OPTIONS | | | | 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | if s.startswith("@@@@"): if bParagraph: print("Error. Graph call can be made only after the first pass (sentence by sentence)") exit() return ["@@@@", s[4:], sLineId] #### OPTIONS sOption = "" # empty string or [a-z0-9]+ name nPriority = 4 # Default is 4, value must be between 0 and 9 tGroups = None # code for groups positioning (only useful for JavaScript) cCaseMode = 'i' # i: case insensitive, s: case sensitive, u: uppercasing allowed cWordLimitLeft = '[' # [: word limit, <: no specific limit cWordLimitRight = ']' # ]: word limit, >: no specific limit m = re.match("^__(?P<borders_and_case>[\\[<]\\w[\\]>])(?P<option>/[a-zA-Z0-9]+|)(?P<ruleid>\\(\\w+\\))(?P<priority>![0-9]|)__ *", s) if m: cWordLimitLeft = m.group('borders_and_case')[0] cCaseMode = m.group('borders_and_case')[1] cWordLimitRight = m.group('borders_and_case')[2] sOption = m.group('option')[1:] if m.group('option') else "" sRuleId = m.group('ruleid')[1:-1] if sRuleId in aRULESET: print(f"# Error. Several rules have the same id: {sRuleId}") exit() aRULESET.add(sRuleId) nPriority = dOptPriority.get(sOption, 4) if m.group('priority'): |
︙ | ︙ | |||
408 409 410 411 412 413 414 | return lFinal def createRulesAsString (lRules): "create rules as a string of arrays (to be bundled in a JSON string)" sArray = "[\n" for sOption, aRuleGroup in lRules: | < | | 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 | return lFinal def createRulesAsString (lRules): "create rules as a string of arrays (to be bundled in a JSON string)" sArray = "[\n" for sOption, aRuleGroup in lRules: sArray += f' ["{sOption}", [\n' for aRule in aRuleGroup: sArray += f' {aRule},\n' sArray += " ]],\n" sArray += "]" return sArray |
︙ | ︙ |
Modified compile_rules_js_convert.py from [37ece1a88a] to [b4c7f14ca9].
︙ | ︙ | |||
132 133 134 135 136 137 138 139 | return lRuleJS def writeRulesToJSArray (lRules): "create rules as a string of arrays (to be bundled in a JSON string)" sArray = "[\n" for sOption, aRuleGroup in lRules: if sOption != "@@@@": | > < < < < | | | | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | return lRuleJS def writeRulesToJSArray (lRules): "create rules as a string of arrays (to be bundled in a JSON string)" sArray = "[\n" for sOption, aRuleGroup in lRules: sArray += f' ["{sOption}", [\n' if sOption != "@@@@": for sRegex, bCaseInsensitive, sLineId, sRuleId, nPriority, lActions, aGroups, aNegLookBehindRegex in aRuleGroup: sCaseSensitive = "true" if bCaseInsensitive else "false" sActions = json.dumps(lActions, ensure_ascii=False) sGroups = json.dumps(aGroups, ensure_ascii=False) sNLBRegex = json.dumps(aNegLookBehindRegex, ensure_ascii=False) sArray += f' [{sRegex}, {sCaseSensitive}, "{sLineId}", "{sRuleId}", {nPriority}, {sActions}, {sGroups}, {sNLBRegex}],\n' else: for aRule in aRuleGroup: sArray += f' {aRule},\n' sArray += " ]],\n" sArray += "]" return sArray def groupsPositioningCodeToList (sGroupsPositioningCode): "convert <sGroupsPositioningCode> to a list of codes (numbers or strings)" if not sGroupsPositioningCode: |
︙ | ︙ |