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
|
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
|
-
+
-
-
+
+
-
+
-
+
|
if nSpellErr:
sText += getReadableErrors(lSpellErrs[:nSpellErr], nWidth, True)
del lSpellErrs[0:nSpellErr]
nOffset += nLineLen
return sText
def getReadableErrors (lErrs, nWidth, bSpell=False):
def getReadableErrors (lErrs, nWidth, bSpellingError=False):
"Returns lErrs errors as readable errors"
sErrors = ""
for dErr in lErrs:
if not bSpell or "aSuggestions" in dErr:
sMsg, *others = getReadableError(dErr, bSpell).split("\n")
if not bSpellingError or "aSuggestions" in dErr:
sMsg, *others = getReadableError(dErr, bSpellingError).split("\n")
sErrors += "\n".join(textwrap.wrap(sMsg, nWidth, subsequent_indent=" ")) + "\n"
for arg in others:
sErrors += "\n".join(textwrap.wrap(arg, nWidth, subsequent_indent=" ")) + "\n"
if sErrors != "":
sErrors += "\n"
return sErrors
def getReadableError (dErr, bSpell=False):
def getReadableError (dErr, bSpellingError=False):
"Returns an error dErr as a readable error"
try:
if bSpell:
if bSpellingError:
sText = u"* {nStart}:{nEnd} # {sValue}:".format(**dErr)
else:
sText = u"* {nStart}:{nEnd} # {sLineId} / {sRuleId}:\n".format(**dErr)
sText += " " + dErr.get("sMessage", "# error : message not found")
if dErr.get("aSuggestions", None):
sText += "\n > Suggestions : " + " | ".join(dErr.get("aSuggestions", "# error : suggestions not found"))
if dErr.get("URL", None):
|