Overview
Comment: | merge trunk |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | rg |
Files: | files | file ages | folders |
SHA3-256: |
099647c959ff991a1dfecd6631ec3c6c |
User & Date: | olr on 2018-06-24 19:03:50 |
Other Links: | branch diff | manifest | tags |
Context
2018-06-25
| ||
07:20 | [fr] ajout de !! à la fin des bookmarks pour éviter la suppression automatique des espaces en fin de ligne check-in: c8714ac3a1 user: olr tags: fr, rg | |
2018-06-24
| ||
19:03 | merge trunk check-in: 099647c959 user: olr tags: rg | |
19:02 | [build] compile rules: code clarification check-in: 19d7545cd6 user: olr tags: build, rg | |
2018-06-22
| ||
07:46 | [cli] option to load personal dictionary check-in: cb3f319c08 user: olr tags: trunk, cli | |
Changes
Modified grammalecte-cli.py from [6896e640a6] to [7d4e2050e3].
︙ | ︙ | |||
48 49 50 51 52 53 54 | def readFile (spf): "generator: returns file line by line" if os.path.isfile(spf): with open(spf, "r", encoding="utf-8") as hSrc: for sLine in hSrc: yield sLine else: | | | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | def readFile (spf): "generator: returns file line by line" if os.path.isfile(spf): with open(spf, "r", encoding="utf-8") as hSrc: for sLine in hSrc: yield sLine else: print("# Error: file <" + spf + "> not found.") def generateParagraphFromFile (spf, bConcatLines=False): "generator: returns text by tuple of (iParagraph, sParagraph, lLineSet)" if not bConcatLines: for iParagraph, sLine in enumerate(readFile(spf), 1): yield iParagraph, sLine, None |
︙ | ︙ | |||
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | def output (sText, hDst=None): "write in the console or in a file if <hDst> not null" if not hDst: echo(sText, end="") else: hDst.write(sText) def main (): "launch the CLI (command line interface)" xParser = argparse.ArgumentParser() xParser.add_argument("-f", "--file", help="parse file (UTF-8 required!) [on Windows, -f is similar to -ff]", type=str) xParser.add_argument("-ff", "--file_to_file", help="parse file (UTF-8 required!) and create a result file (*.res.txt)", type=str) xParser.add_argument("-owe", "--only_when_errors", help="display results only when there are errors", action="store_true") xParser.add_argument("-j", "--json", help="generate list of errors in JSON (only with option --file or --file_to_file)", action="store_true") xParser.add_argument("-cl", "--concat_lines", help="concatenate lines not separated by an empty paragraph (only with option --file or --file_to_file)", action="store_true") xParser.add_argument("-tf", "--textformatter", help="auto-format text according to typographical rules (not with option --concat_lines)", action="store_true") xParser.add_argument("-tfo", "--textformatteronly", help="auto-format text and disable grammar checking (only with option --file or --file_to_file)", action="store_true") xParser.add_argument("-ctx", "--context", help="return errors with context (only with option --json)", action="store_true") xParser.add_argument("-wss", "--with_spell_sugg", help="add suggestions for spelling errors (only with option --file or --file_to_file)", action="store_true") xParser.add_argument("-w", "--width", help="width in characters (40 < width < 200; default: 100)", type=int, choices=range(40,201,10), default=100) xParser.add_argument("-lo", "--list_options", help="list options", action="store_true") xParser.add_argument("-lr", "--list_rules", nargs="?", help="list rules [regex pattern as filter]", const="*") xParser.add_argument("-sug", "--suggest", help="get suggestions list for given word", type=str) xParser.add_argument("-on", "--opt_on", nargs="+", help="activate options") xParser.add_argument("-off", "--opt_off", nargs="+", help="deactivate options") xParser.add_argument("-roff", "--rule_off", nargs="+", help="deactivate rules") xParser.add_argument("-d", "--debug", help="debugging mode (only in interactive mode)", action="store_true") xArgs = xParser.parse_args() oGrammarChecker = grammalecte.GrammarChecker("fr") oSpellChecker = oGrammarChecker.getSpellChecker() oLexicographer = oGrammarChecker.getLexicographer() oTextFormatter = oGrammarChecker.getTextFormatter() if not xArgs.json: echo("Grammalecte v{}".format(oGrammarChecker.gce.version)) # list options or rules if xArgs.list_options or xArgs.list_rules: if xArgs.list_options: | > > > > > > > > > > > > > > > > > > > | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | def output (sText, hDst=None): "write in the console or in a file if <hDst> not null" if not hDst: echo(sText, end="") else: hDst.write(sText) def loadDictionary (spf): if os.path.isfile(spf): sJSON = open(spf, "r", encoding="utf-8").read() try: oJSON = json.loads(sJSON) except: print("# Error. File <" + spf + " is not a valid JSON file.") return None return oJSON else: print("# Error: file <" + spf + "> not found.") return None def main (): "launch the CLI (command line interface)" xParser = argparse.ArgumentParser() xParser.add_argument("-f", "--file", help="parse file (UTF-8 required!) [on Windows, -f is similar to -ff]", type=str) xParser.add_argument("-ff", "--file_to_file", help="parse file (UTF-8 required!) and create a result file (*.res.txt)", type=str) xParser.add_argument("-owe", "--only_when_errors", help="display results only when there are errors", action="store_true") xParser.add_argument("-j", "--json", help="generate list of errors in JSON (only with option --file or --file_to_file)", action="store_true") xParser.add_argument("-cl", "--concat_lines", help="concatenate lines not separated by an empty paragraph (only with option --file or --file_to_file)", action="store_true") xParser.add_argument("-tf", "--textformatter", help="auto-format text according to typographical rules (not with option --concat_lines)", action="store_true") xParser.add_argument("-tfo", "--textformatteronly", help="auto-format text and disable grammar checking (only with option --file or --file_to_file)", action="store_true") xParser.add_argument("-ctx", "--context", help="return errors with context (only with option --json)", action="store_true") xParser.add_argument("-wss", "--with_spell_sugg", help="add suggestions for spelling errors (only with option --file or --file_to_file)", action="store_true") xParser.add_argument("-pdi", "--personal_dict", help="load personnal dictionary (JSON file)", type=str) xParser.add_argument("-w", "--width", help="width in characters (40 < width < 200; default: 100)", type=int, choices=range(40,201,10), default=100) xParser.add_argument("-lo", "--list_options", help="list options", action="store_true") xParser.add_argument("-lr", "--list_rules", nargs="?", help="list rules [regex pattern as filter]", const="*") xParser.add_argument("-sug", "--suggest", help="get suggestions list for given word", type=str) xParser.add_argument("-on", "--opt_on", nargs="+", help="activate options") xParser.add_argument("-off", "--opt_off", nargs="+", help="deactivate options") xParser.add_argument("-roff", "--rule_off", nargs="+", help="deactivate rules") xParser.add_argument("-d", "--debug", help="debugging mode (only in interactive mode)", action="store_true") xArgs = xParser.parse_args() oGrammarChecker = grammalecte.GrammarChecker("fr") oSpellChecker = oGrammarChecker.getSpellChecker() oLexicographer = oGrammarChecker.getLexicographer() oTextFormatter = oGrammarChecker.getTextFormatter() if xArgs.personal_dict: oJSON = loadDictionary(xArgs.personal_dict) if oJSON: oSpellChecker.setPersonalDictionary(oJSON) if not xArgs.json: echo("Grammalecte v{}".format(oGrammarChecker.gce.version)) # list options or rules if xArgs.list_options or xArgs.list_rules: if xArgs.list_options: |
︙ | ︙ |