Overview
Comment: | [server] use gc wrapper |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | server |
Files: | files | file ages | folders |
SHA3-256: |
a7e5364e1d9f973d6de88eab89af412f |
User & Date: | olr on 2018-02-20 13:51:07 |
Other Links: | manifest | tags |
Context
2018-02-21
| ||
11:53 | [build] new command for future graph rules check-in: c4eb507f6d user: olr tags: trunk, build | |
2018-02-20
| ||
13:51 | [server] use gc wrapper check-in: a7e5364e1d user: olr tags: trunk, server | |
13:50 | [core] grammar_checker.py: add option <dOptions> check-in: 8378730de1 user: olr tags: trunk, core | |
Changes
Modified grammalecte-server.py from [3253a2b2ff] to [a5cc9d7be7].
1 2 3 4 5 6 7 8 9 10 11 12 | #!/usr/bin/env python3 import sys import os.path import argparse import json import traceback import configparser import time from bottle import Bottle, run, request, response, template, static_file | < | < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #!/usr/bin/env python3 import sys import os.path import argparse import json import traceback import configparser import time from bottle import Bottle, run, request, response, template, static_file import grammalecte import grammalecte.text as txt from grammalecte.graphspell.echo import echo HOMEPAGE = """ <!DOCTYPE HTML> <html> <head> |
︙ | ︙ | |||
125 126 127 128 129 130 131 | def genUserId (): i = 0 while True: yield str(i) i += 1 | > | | | | < | < < < < | | < < < < < | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | def genUserId (): i = 0 while True: yield str(i) i += 1 if __name__ == '__main__': # initialisation oGrammarChecker = grammalecte.GrammarChecker("fr", "Server") oSpellChecker = oGrammarChecker.getSpellChecker() oLexicographer = oGrammarChecker.getLexicographer() oTextFormatter = oGrammarChecker.getTextFormatter() gce = oGrammarChecker.getGCEngine() echo("Grammalecte v{}".format(gce.version)) dServerOptions = getServerOptions() dGCOptions = getConfigOptions("fr") if dGCOptions: gce.setOptions(dGCOptions) dServerGCOptions = gce.getOptions() echo("Grammar options:\n" + " | ".join([ k + ": " + str(v) for k, v in sorted(dServerGCOptions.items()) ])) dUser = {} userGenerator = genUserId() app = Bottle() # GET @app.route("/") |
︙ | ︙ | |||
176 177 178 179 180 181 182 | # POST @app.route("/gc_text/fr", method="POST") def gcText (): #if len(lang) != 2 or lang != "fr": # abort(404, "No grammar checker available for lang “" + str(lang) + "”") bComma = False | < | | | | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | # POST @app.route("/gc_text/fr", method="POST") def gcText (): #if len(lang) != 2 or lang != "fr": # abort(404, "No grammar checker available for lang “" + str(lang) + "”") bComma = False dOptions = None sError = "" if request.cookies.user_id: if request.cookies.user_id in dUser: dOptions = dUser[request.cookies.user_id].get("gc_options", None) response.set_cookie("user_id", request.cookies.user_id, path="/", max_age=86400) # we renew cookie for 24h else: response.delete_cookie("user_id", path="/") if request.forms.options: try: dOptions = dict(dServerGCOptions) if not dOptions else dict(dOptions) dOptions.update(json.loads(request.forms.options)) except: sError = "request options not used" sJSON = '{ "program": "grammalecte-fr", "version": "'+gce.version+'", "lang": "'+gce.lang+'", "error": "'+sError+'", "data" : [\n' for i, sText in enumerate(txt.getParagraph(request.forms.text), 1): if bool(request.forms.tf): sText = oTextFormatter.formatText(sText) sText = oGrammarChecker.generateParagraphAsJSON(i, sText, dOptions=dOptions, bEmptyIfNoErrors=True, bReturnText=bool(request.forms.tf)) if sText: if bComma: sJSON += ",\n" sJSON += sText bComma = True sJSON += "\n]}\n" return sJSON |
︙ | ︙ | |||
227 228 229 230 231 232 233 | def resetOptions (): if request.cookies.user_id and request.cookies.user_id in dUser: del dUser[request.cookies.user_id] return "done" @app.route("/format_text/fr", method="POST") def formatText (): | | | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | def resetOptions (): if request.cookies.user_id and request.cookies.user_id in dUser: del dUser[request.cookies.user_id] return "done" @app.route("/format_text/fr", method="POST") def formatText (): return oTextFormatter.formatText(request.forms.text) #@app.route('/static/<filepath:path>') #def server_static (filepath): # return static_file(filepath, root='./views/static') @app.route("/purge_users", method="POST") def purgeUsers (): |
︙ | ︙ |