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 on 2019-08-21 07:04:10 |
Other Links: | manifest | tags |
Context
2019-08-21
| ||
08:28 | [fr] test check-in: 48c8116d91 user: olr tags: trunk, fr | |
07:04 | [server] code clarity, +version 1.3.1 check-in: 137cf12feb user: olr tags: trunk, server, 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: trunk, build | |
Changes
Modified gc_lang/fr/config.ini from [e602f974a1] to [b4b3700788].
1 2 3 4 5 6 7 8 | [args] 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 | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [args] 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 |
︙ | ︙ |
Modified grammalecte-server.py from [800ce882b1] to [38ce8a200e].
︙ | ︙ | |||
22 23 24 25 26 27 28 | #### GRAMMAR CHECKER #### oGrammarChecker = grammalecte.GrammarChecker("fr", "Server") oSpellChecker = oGrammarChecker.getSpellChecker() oTextFormatter = oGrammarChecker.getTextFormatter() oGCE = oGrammarChecker.getGCEngine() | < < < < < < < < < < < < < < < < | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #### 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: |
︙ | ︙ | |||
70 71 72 73 74 75 76 77 78 79 80 81 82 83 | 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> | > > > > > > > > > > > > > > > > > | 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 | 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> |
︙ | ︙ | |||
349 350 351 352 353 354 355 | main(xArgs.host or "localhost", \ xArgs.port or 8080, \ dOpt, xArgs.test_page, xArgs.multiprocessor) else: | | | 350 351 352 353 354 355 356 357 358 359 | 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() |