Overview
Comment: | [build] make data more readable |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | build |
Files: | files | file ages | folders |
SHA3-256: |
448cd58d39e1d7571775a82df886a146 |
User & Date: | olr on 2020-04-22 13:59:53 |
Other Links: | manifest | tags |
Context
2020-04-22
| ||
14:29 | [build] code clarification (Python f-strings) check-in: d1aa895785 user: olr tags: trunk, build | |
13:59 | [build] make data more readable check-in: 448cd58d39 user: olr tags: trunk, build | |
10:58 | [build] fix URL id check-in: 959afab163 user: olr tags: trunk, build | |
Changes
Modified compile_rules_graph.py from [e20a775a4f] to [116d5ebc8e].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | """ Grammalecte: compile rules Create a Direct Acyclic Rule Graphs (DARGs) """ import re import os import time import concurrent.futures import darg import compile_rules_js_convert as jsconv #### PROCESS POOL EXECUTOR #### xProcessPoolExecutor = None def initProcessPoolExecutor (nMultiCPU=None): "process pool executor initialisation" | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | """ Grammalecte: compile rules Create a Direct Acyclic Rule Graphs (DARGs) """ import re import os import time import concurrent.futures import darg import compile_rules_js_convert as jsconv import helpers #### PROCESS POOL EXECUTOR #### xProcessPoolExecutor = None def initProcessPoolExecutor (nMultiCPU=None): "process pool executor initialisation" |
︙ | ︙ | |||
573 574 575 576 577 578 579 | for xFuture in lResult: sGraphName, dGraph, dActions, sPy, sJS = xFuture.result() dAllGraph[sGraphName] = dGraph dAllActions.update(dActions) sPyCallables += sPy sJSCallables += sJS # create a dictionary of URL | | < | > > < | | 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 | for xFuture in lResult: sGraphName, dGraph, dActions, sPy, sJS = xFuture.result() dAllGraph[sGraphName] = dGraph dAllActions.update(dActions) sPyCallables += sPy sJSCallables += sJS # create a dictionary of URL dTempURL = { "": 0 } i = 1 for sKey, lValue in dAllActions.items(): if lValue[3] == "-": if lValue[-1]: if lValue[-1] not in dTempURL: dTempURL[lValue[-1]] = i i += 1 lValue[-1] = dTempURL[lValue[-1]] else: lValue[-1] = 0 dURL = { v: k for k, v in dTempURL.items() } # reversing key and values # end print(" Total: ", nRule, "rules, ", len(dAllActions), "actions") print(" Build time: {:.2f} s".format(time.time() - fStartTimer)) return { # the graphs describe paths of tokens to actions which eventually execute callables "rules_graphs": str(dAllGraph), # helpers.convertDictToString(dAllGraph) "rules_actions": helpers.convertDictToString(dAllActions), # str(dAllActions) "rules_graph_URL": helpers.convertDictToString(dURL), # str(dURL) "rules_graphsJS": str(dAllGraph), "rules_actionsJS": jsconv.pyActionsToString(dAllActions), "rules_graph_URLJS": str(dURL), "graph_callables": sPyCallables, "graph_callablesJS": sJSCallables } |
Modified gc_core/js/lang_core/gc_rules_graph.js from [8c47453ba6] to [001ce9daa6].
︙ | ︙ | |||
10 11 12 13 14 15 16 | var gc_rules_graph = { dAllGraph: ${rules_graphsJS}, dRule: ${rules_actionsJS}, | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | var gc_rules_graph = { dAllGraph: ${rules_graphsJS}, dRule: ${rules_actionsJS}, dURL: ${rules_graph_URLJS} }; if (typeof(exports) !== 'undefined') { exports.dAllGraph = gc_rules_graph.dAllGraph; exports.dRule = gc_rules_graph.dRule; exports.dURL = gc_rules_graph.dURL; |
︙ | ︙ |
Modified gc_lang/fr/rules.grx from [bb86697156] to [21771c1a6c].
︙ | ︙ | |||
7461 7462 7463 7464 7465 7466 7467 | TEST: Il y a qui au dîner ce soir ? # m’a tuer __conf_m_a_tuer__ m’ a tuer <<- /conf/ -3>> tué|tuée | | | 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 | TEST: Il y a qui au dîner ce soir ? # m’a tuer __conf_m_a_tuer__ m’ a tuer <<- /conf/ -3>> tué|tuée # Cliché. Évitez cette erreur de grammaire délibérée, faite d’innombrables fois, pour mimer l’affaire Omar Raddad.|https://fr.wikipedia.org/wiki/Omar_m%27a_tuer TEST: la réalité m’a {{tuer}} # après avoir __conf_après_avoir__ [à|a] [>prêt|>pré|près] [a|à] [voire|voir] |
︙ | ︙ |
Modified helpers.py from [f66c7bb7d2] to [20b8bddd75].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | """ Tools for handling files """ import os import shutil import errno import zipfile from string import Template class CD: "Context manager for changing the current working directory" def __init__ (self, newPath): self.newPath = os.path.expanduser(newPath) self.savedPath = "" | > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | """ Tools for handling files """ import os import shutil import errno import zipfile from string import Template def convertDictToString (dDict, nDepth=1, nIndent=2): "returns <dDict> as a indented string" sResult = "{\n" sIndent = " " * nIndent for key, val in dDict.items(): sKey = f"'{key}'" if type(key) is str else str(key) if nDepth > 0 and type(val) is dict: sVal = convertDictToString(val, nDepth-1, nIndent+nIndent) else: sVal = f"'{val}'" if type(val) is str else str(val) sResult += f'{sIndent}{sKey}: {sVal},\n' sResult = sResult + sIndent[:-2] + "}" return sResult class CD: "Context manager for changing the current working directory" def __init__ (self, newPath): self.newPath = os.path.expanduser(newPath) self.savedPath = "" |
︙ | ︙ |