Overview
Comment: | [core] grammar checker: code cleaning (pylint) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | core | rg |
Files: | files | file ages | folders |
SHA3-256: |
7042f71f3524d5ca2dc0951fc3174f1a |
User & Date: | olr on 2018-06-24 12:19:32 |
Other Links: | branch diff | manifest | tags |
Context
2018-06-24
| ||
12:28 | [build] compile rules: generated functions are now private check-in: ec15ccafa3 user: olr tags: build, rg | |
12:19 | [core] grammar checker: code cleaning (pylint) check-in: 7042f71f35 user: olr tags: core, rg | |
11:39 | [graphspell] code cleaning (pylint) check-in: 814d73b60e user: olr tags: graphspell, rg | |
Changes
Modified gc_core/py/grammar_checker.py from [79ce1061e8] to [634e5c7c61].
|
| > | < > > > > > | | | > | | | > > > > > | 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 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 | """ Grammalecte, grammar checker """ import importlib import json from . import text class GrammarChecker: "GrammarChecker: Wrapper for the grammar checker engine" def __init__ (self, sLangCode, sContext="Python"): self.sLangCode = sLangCode # Grammar checker engine self.gce = importlib.import_module("."+sLangCode, "grammalecte") self.gce.load(sContext) # Spell checker self.oSpellChecker = self.gce.getSpellChecker() # Lexicographer self.oLexicographer = None # Text formatter self.oTextFormatter = None def getGCEngine (self): "return the grammar checker object" return self.gce def getSpellChecker (self): "return the spell checker object" return self.oSpellChecker def getTextFormatter (self): "load and return the text formatter" if self.oTextFormatter is None: tf = importlib.import_module("."+self.sLangCode+".textformatter", "grammalecte") self.oTextFormatter = tf.TextFormatter() return self.oTextFormatter def getLexicographer (self): "load and return the lexicographer" if self.oLexicographer is None: lxg = importlib.import_module("."+self.sLangCode+".lexicographe", "grammalecte") self.oLexicographer = lxg.Lexicographe(self.oSpellChecker) return self.oLexicographer def displayGCOptions (self): "display the grammar checker options" self.gce.displayOptions() def getParagraphErrors (self, sText, dOptions=None, bContext=False, bSpellSugg=False, bDebug=False): "returns a tuple: (grammar errors, spelling errors)" aGrammErrs = self.gce.parse(sText, "FR", bDebug=bDebug, dOptions=dOptions, bContext=bContext) aSpellErrs = self.oSpellChecker.parseParagraph(sText, bSpellSugg) return aGrammErrs, aSpellErrs def generateText (self, sText, bEmptyIfNoErrors=False, bSpellSugg=False, nWidth=100, bDebug=False): "[todo]" pass def generateTextAsJSON (self, sText, bContext=False, bEmptyIfNoErrors=False, bSpellSugg=False, bReturnText=False, bDebug=False): "[todo]" pass def generateParagraph (self, sText, dOptions=None, bEmptyIfNoErrors=False, bSpellSugg=False, nWidth=100, bDebug=False): "parse text and return a readable text with underline errors" aGrammErrs, aSpellErrs = self.getParagraphErrors(sText, dOptions, False, bSpellSugg, bDebug) if bEmptyIfNoErrors and not aGrammErrs and not aSpellErrs: return "" return text.generateParagraph(sText, aGrammErrs, aSpellErrs, nWidth) def generateParagraphAsJSON (self, iIndex, sText, dOptions=None, bContext=False, bEmptyIfNoErrors=False, bSpellSugg=False, bReturnText=False, lLineSet=None, bDebug=False): "parse text and return errors as a JSON string" aGrammErrs, aSpellErrs = self.getParagraphErrors(sText, dOptions, bContext, bSpellSugg, bDebug) aGrammErrs = list(aGrammErrs) if bEmptyIfNoErrors and not aGrammErrs and not aSpellErrs: return "" if lLineSet: aGrammErrs, aSpellErrs = text.convertToXY(aGrammErrs, aSpellErrs, lLineSet) return json.dumps({ "lGrammarErrors": aGrammErrs, "lSpellingErrors": aSpellErrs }, ensure_ascii=False) if bReturnText: return json.dumps({ "iParagraph": iIndex, "sText": sText, "lGrammarErrors": aGrammErrs, "lSpellingErrors": aSpellErrs }, ensure_ascii=False) return json.dumps({ "iParagraph": iIndex, "lGrammarErrors": aGrammErrs, "lSpellingErrors": aSpellErrs }, ensure_ascii=False) |