Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | [server] code clarity, +version 1.3.1 |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | server | v1.3.1 |
Files: | files | file ages | folders |
SHA3-256: | 137cf12febdb40fa27ff12f2c5aa7812 |
User & Date: | olr 2019-08-21 07:04:10 |
Context
2019-08-21
| ||
08:28 | [fr] test check-in: 48c8116d91 user: olr tags: fr, trunk | |
07:04 | [server] code clarity, +version 1.3.1 check-in: 137cf12feb user: olr tags: server, trunk, v1.3.1 | |
2019-08-20
| ||
16:31 | [build] add tests to text processor actions to prevent weird bugs check-in: 7542272427 user: olr tags: build, trunk | |
Changes
Changes to gc_lang/fr/config.ini.
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
lang = fr
lang_name = French
locales = fr_FR fr_BE fr_CA fr_CH fr_LU fr_BF fr_BJ fr_CD fr_CI fr_CM fr_MA fr_ML fr_MU fr_NE fr_RE fr_SN fr_TG
country_default = FR
name = Grammalecte
implname = grammalecte
# always use 3 numbers for version: x.y.z
version = 1.3.0
author = Olivier R.
provider = Grammalecte.net
link = https://grammalecte.net
description = Correcteur grammatical pour le français.
extras = README_fr.txt
logo = logo.png
|
| |
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
lang = fr
lang_name = French
locales = fr_FR fr_BE fr_CA fr_CH fr_LU fr_BF fr_BJ fr_CD fr_CI fr_CM fr_MA fr_ML fr_MU fr_NE fr_RE fr_SN fr_TG
country_default = FR
name = Grammalecte
implname = grammalecte
# always use 3 numbers for version: x.y.z
version = 1.3.1
author = Olivier R.
provider = Grammalecte.net
link = https://grammalecte.net
description = Correcteur grammatical pour le français.
extras = README_fr.txt
logo = logo.png
|
Changes to grammalecte-server.py.
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 .. 70 71 72 73 74 75 76 77 78 79 80 81 82 83 ... 349 350 351 352 353 354 355 356 357 358 |
#### GRAMMAR CHECKER #### oGrammarChecker = grammalecte.GrammarChecker("fr", "Server") oSpellChecker = oGrammarChecker.getSpellChecker() oTextFormatter = oGrammarChecker.getTextFormatter() oGCE = oGrammarChecker.getGCEngine() xProcessPoolExecutor = None def initExecutor (nMultiCPU=None): "process pool executor initialisation" global xProcessPoolExecutor if xProcessPoolExecutor: # we shutdown the ProcessPoolExecutor which may have been launched previously xProcessPoolExecutor.shutdown(wait=False) nMaxCPU = max(os.cpu_count()-1, 1) if nMultiCPU is None or not (1 <= nMultiCPU <= nMaxCPU): nMultiCPU = nMaxCPU print("CPU processes used for workers: ", nMultiCPU) xProcessPoolExecutor = concurrent.futures.ProcessPoolExecutor(max_workers=nMultiCPU) def parseText (sText, dOptions=None, bFormatText=False, sError=""): "parse <sText> and return errors in a JSON format" sJSON = '{ "program": "grammalecte-fr", "version": "'+oGCE.version+'", "lang": "'+oGCE.lang+'", "error": "'+sError+'", "data" : [\n' sDataJSON = "" for i, sParagraph in enumerate(txt.getParagraph(sText), 1): if bFormatText: ................................................................................ return '{"error": "suggestion module failed"}' try: return '{"suggestions": ' + json.dumps(lSugg, ensure_ascii=False) + '}' except json.JSONDecodeError: return '{"error": "json encoding error"}' return '{"error": "no token given"}' #### SERVEUR #### HOMEPAGE = """ <!DOCTYPE HTML> <html> <head> ................................................................................ main(xArgs.host or "localhost", \ xArgs.port or 8080, \ dOpt, xArgs.test_page, xArgs.multiprocessor) else: # we do it for the server may be used with WSGI (which doesn’t call main()) # WSGI servers just import the given file as a module and use an object exported from it (<app> in this case) to run the server. initExecutor() |
< < < < < < < < < < < < < < < < > > > > > > > > > > > > > > > > > | |
22 23 24 25 26 27 28 29 30 31 32 33 34 35 .. 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 ... 350 351 352 353 354 355 356 357 358 359 |
#### GRAMMAR CHECKER #### oGrammarChecker = grammalecte.GrammarChecker("fr", "Server") oSpellChecker = oGrammarChecker.getSpellChecker() oTextFormatter = oGrammarChecker.getTextFormatter() oGCE = oGrammarChecker.getGCEngine() def parseText (sText, dOptions=None, bFormatText=False, sError=""): "parse <sText> and return errors in a JSON format" sJSON = '{ "program": "grammalecte-fr", "version": "'+oGCE.version+'", "lang": "'+oGCE.lang+'", "error": "'+sError+'", "data" : [\n' sDataJSON = "" for i, sParagraph in enumerate(txt.getParagraph(sText), 1): if bFormatText: ................................................................................ return '{"error": "suggestion module failed"}' try: return '{"suggestions": ' + json.dumps(lSugg, ensure_ascii=False) + '}' except json.JSONDecodeError: return '{"error": "json encoding error"}' return '{"error": "no token given"}' #### PROCESS POOL EXECUTOR #### xProcessPoolExecutor = None def initExecutor (nMultiCPU=None): "process pool executor initialisation" global xProcessPoolExecutor if xProcessPoolExecutor: # we shutdown the ProcessPoolExecutor which may have been launched previously print("ProcessPoolExecutor shutdown.") xProcessPoolExecutor.shutdown(wait=False) nMaxCPU = max(os.cpu_count()-1, 1) if nMultiCPU is None or not (1 <= nMultiCPU <= nMaxCPU): nMultiCPU = nMaxCPU print("CPU processes used for workers: ", nMultiCPU) xProcessPoolExecutor = concurrent.futures.ProcessPoolExecutor(max_workers=nMultiCPU) #### SERVEUR #### HOMEPAGE = """ <!DOCTYPE HTML> <html> <head> ................................................................................ main(xArgs.host or "localhost", \ xArgs.port or 8080, \ dOpt, xArgs.test_page, xArgs.multiprocessor) else: # Must be launched at start, for WSGI server (which doesn’t call main()) # WSGI servers just import the given file as a module and use an object exported from it (<app> in this case) to run the server. initExecutor() |