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:
|
| ︙ | ︙ |