Overview
Comment: | [core] gc engine: expand update (ability to display token with negative reference) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | core | rg |
Files: | files | file ages | folders |
SHA3-256: |
adf214e05394e33b9cd5632e0bfa79b0 |
User & Date: | olr on 2018-07-31 20:02:42 |
Other Links: | branch diff | manifest | tags |
Context
2018-08-01
| ||
18:59 | [fr] conversion: regex rules -> graph rules check-in: dec11ec8d2 user: olr tags: fr, rg | |
2018-07-31
| ||
20:02 | [core] gc engine: expand update (ability to display token with negative reference) check-in: adf214e053 user: olr tags: core, rg | |
19:32 | [build] functions rewriting update check-in: cbcedcb422 user: olr tags: build, rg | |
Changes
Modified gc_core/py/lang_core/gc_engine.py from [c3ab96bbbf] to [102ec99edb].
︙ | ︙ | |||
796 797 798 799 800 801 802 | if bDebug: print(" NEW_ERROR:", self.dError[nErrorStart], "\n ", dRule[sRuleId]) elif cActionType == "~": # text processor if bDebug: print(" TAG_PREPARE:\n ", dRule[sRuleId]) nEndToken = (nTokenOffset + eAct[1]) if eAct[1] else nLastToken | | | 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 | if bDebug: print(" NEW_ERROR:", self.dError[nErrorStart], "\n ", dRule[sRuleId]) elif cActionType == "~": # text processor if bDebug: print(" TAG_PREPARE:\n ", dRule[sRuleId]) nEndToken = (nTokenOffset + eAct[1]) if eAct[1] else nLastToken self._tagAndPrepareTokenForRewriting(sWhat, nTokenOffset + eAct[0], nEndToken, nTokenOffset, nLastToken, True, bDebug) bChange = True elif cActionType == "=": # disambiguation if bDebug: print(" DISAMBIGUATOR:\n ", dRule[sRuleId]) globals()[sWhat](self.lToken, nTokenOffset) elif cActionType == ">": |
︙ | ︙ | |||
845 846 847 848 849 850 851 | # suggestions if sSugg[0:1] == "=": sSugg = globals()[sSugg[1:]](self.lToken, nTokenOffset, nLastToken) lSugg = sSugg.split("|") if sSugg else [] elif sSugg == "_": lSugg = [] else: | | | | 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 | # suggestions if sSugg[0:1] == "=": sSugg = globals()[sSugg[1:]](self.lToken, nTokenOffset, nLastToken) lSugg = sSugg.split("|") if sSugg else [] elif sSugg == "_": lSugg = [] else: lSugg = self._expand(sSugg, nTokenOffset, nLastToken).split("|") if bUppercase and lSugg and self.lToken[iFirstToken]["sValue"][0:1].isupper(): lSugg = list(map(lambda s: s[0:1].upper()+s[1:], lSugg)) # Message sMessage = globals()[sMsg[1:]](self.lToken, nTokenOffset) if sMsg[0:1] == "=" else self._expand(sMsg, nTokenOffset, nLastToken) if bShowRuleId: sMessage += " " + sLineId + " # " + sRuleId # if _bWriterError: xErr = SingleProofreadingError() # uno.createUnoStruct( "com.sun.star.linguistic2.SingleProofreadingError" ) xErr.nErrorStart = nStart xErr.nErrorLength = nEnd - nStart |
︙ | ︙ | |||
888 889 890 891 892 893 894 | dErr["URL"] = sURL if sURL else "" if bContext: dErr['sUnderlined'] = self.sSentence0[nStart:nEnd] dErr['sBefore'] = self.sSentence0[max(0,nStart-80):nStart] dErr['sAfter'] = self.sSentence0[nEnd:nEnd+80] return dErr | | | > | > > | | 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 | dErr["URL"] = sURL if sURL else "" if bContext: dErr['sUnderlined'] = self.sSentence0[nStart:nEnd] dErr['sBefore'] = self.sSentence0[max(0,nStart-80):nStart] dErr['sAfter'] = self.sSentence0[nEnd:nEnd+80] return dErr def _expand (self, sText, nTokenOffset, nLastToken): #print("*", sText) for m in re.finditer(r"\\(-?[0-9]+)", sText): if m.group(1)[0:1] == "-": sText = sText.replace(m.group(0), self.lToken[nLastToken+int(m.group(1))+1]["sValue"]) else: sText = sText.replace(m.group(0), self.lToken[nTokenOffset+int(m.group(1))]["sValue"]) #print(">", sText) return sText def _tagAndPrepareTokenForRewriting (self, sWhat, nTokenRewriteStart, nTokenRewriteEnd, nTokenOffset, nLastToken, bUppercase=True, bDebug=False): "text processor: rewrite tokens between <nTokenRewriteStart> and <nTokenRewriteEnd> position" if bDebug: print(" START:", nTokenRewriteStart, "END:", nTokenRewriteEnd) if sWhat == "*": # purge text if nTokenRewriteEnd - nTokenRewriteStart == 0: self.lToken[nTokenRewriteStart]["bToRemove"] = True |
︙ | ︙ | |||
927 928 929 930 931 932 933 | else: for i in range(nTokenRewriteStart, nTokenRewriteEnd+1): self.lToken[i]["sNewValue"] = "_" else: if sWhat.startswith("="): sWhat = globals()[sWhat[1:]](self.lToken, nTokenOffset) else: | | | 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 | else: for i in range(nTokenRewriteStart, nTokenRewriteEnd+1): self.lToken[i]["sNewValue"] = "_" else: if sWhat.startswith("="): sWhat = globals()[sWhat[1:]](self.lToken, nTokenOffset) else: sWhat = self._expand(sWhat, nTokenOffset, nLastToken) bUppercase = bUppercase and self.lToken[nTokenRewriteStart]["sValue"][0:1].isupper() if nTokenRewriteEnd - nTokenRewriteStart == 0: # one token sWhat = sWhat + " " * (len(self.lToken[nTokenRewriteStart]["sValue"])-len(sWhat)) if bUppercase: sWhat = sWhat[0:1].upper() + sWhat[1:] self.lToken[nTokenRewriteStart]["sNewValue"] = sWhat |
︙ | ︙ |