eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py

changeset 7256
4ef3b78ebb4e
parent 7249
0bf517e60f54
child 7360
9190402e4505
diff -r d595f6f9cbf8 -r 4ef3b78ebb4e eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py	Sat Sep 21 18:30:02 2019 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py	Sat Sep 21 20:30:56 2019 +0200
@@ -288,9 +288,11 @@
         else:
             code = message.split(None, 1)[0].strip()
         
-        if line <= len(self.__source) and \
-           self.__codeMatch(code) and \
-           code in self.__fixes:
+        if (
+            line <= len(self.__source) and
+            self.__codeMatch(code) and
+            code in self.__fixes
+        ):
             res = self.__fixes[code](code, line, pos)
             if res[0] == 1:
                 self.__modified = True
@@ -568,8 +570,11 @@
         else:
             return (0, "", 0)
         
-        newText = self.__getIndent(self.__source[line]) + \
-            insertChar + self.__source[line].lstrip()
+        newText = (
+            self.__getIndent(self.__source[line]) +
+            insertChar +
+            self.__source[line].lstrip()
+        )
         self.__source[line] = newText
         # Introductory quotes corrected to be {0}"""
         return (1, ('FD112', (insertChar,)), 0)
@@ -596,8 +601,10 @@
                 # only correctly formatted docstrings will be fixed
                 return (0, "", 0)
             
-            docstring = self.__source[line].rstrip() + \
+            docstring = (
+                self.__source[line].rstrip() +
                 self.__source[line + 1].strip()
+            )
             if docstring.endswith('"""'):
                 docstring += self.__eol
             else:
@@ -629,17 +636,25 @@
         """
         line = line - 1
         newText = ""
-        if self.__source[line].rstrip().endswith(('"""', "'''")) and \
-           self.__source[line].lstrip().startswith(('"""', 'r"""', 'u"""')):
+        if (
+            self.__source[line].rstrip().endswith(('"""', "'''")) and
+            self.__source[line].lstrip().startswith(('"""', 'r"""', 'u"""'))
+        ):
             # it is a one-liner
-            newText = self.__source[line].rstrip()[:-3].rstrip() + "." + \
-                self.__source[line].rstrip()[-3:] + self.__eol
+            newText = (
+                self.__source[line].rstrip()[:-3].rstrip() +
+                "." +
+                self.__source[line].rstrip()[-3:] +
+                self.__eol
+            )
         else:
-            if line < len(self.__source) - 1 and \
+            if (
+                line < len(self.__source) - 1 and
                 (not self.__source[line + 1].strip() or
                  self.__source[line + 1].lstrip().startswith("@") or
                  (self.__source[line + 1].strip() in ('"""', "'''") and
-                  not self.__source[line].lstrip().startswith("@"))):
+                  not self.__source[line].lstrip().startswith("@")))
+            ):
                 newText = self.__source[line].rstrip() + "." + self.__eol
         
         if newText:
@@ -812,8 +827,14 @@
             else:
                 # trailing
                 first, second = source[:-3].strip(), source[-3:]
-            newText = indent + first + self.__eol + \
-                indent + second + self.__eol
+            newText = (
+                indent +
+                first +
+                self.__eol +
+                indent +
+                second +
+                self.__eol
+            )
             self.__source[line] = newText
             if code == "D221":
                 # Leading quotes put on separate line.
@@ -1004,8 +1025,10 @@
                     line = line - 1
                     text = self.__source[line]
                     indentation = self.__getIndent(text)
-                    self.__source[line] = indentation + \
+                    self.__source[line] = (
+                        indentation +
                         self.__indentWord + text.lstrip()
+                    )
                 # Missing indentation of continuation line corrected.
                 return (1, "FE122", 0)
             return (0, "", 0)
@@ -1076,8 +1099,10 @@
                 if not modified:
                     row = line - 1
                     text = self.__source[row]
-                    self.__source[row] = self.__getIndent(text) + \
+                    self.__source[row] = (
+                        self.__getIndent(text) +
                         self.__indentWord + text.lstrip()
+                    )
                 # Indentation level changed.
                 return (1, "FE125", 0)
             return (0, "", 0)
@@ -1109,8 +1134,10 @@
                 logicalLines = logical[2]
                 row = line - 1
                 text = self.__source[row]
-                newText = self.__getIndent(logicalLines[0]) + \
+                newText = (
+                    self.__getIndent(logicalLines[0]) +
                     self.__indentWord + text.lstrip()
+                )
                 if newText == text:
                     # fall back to slower method
                     changed = self.__fixReindent(line, pos, logical)
@@ -1151,8 +1178,11 @@
                 newText = text
                 
                 if logicalLines[0].rstrip().endswith('\\'):
-                    newText = self.__getIndent(logicalLines[0]) + \
-                        self.__indentWord + text.lstrip()
+                    newText = (
+                        self.__getIndent(logicalLines[0]) +
+                        self.__indentWord +
+                        text.lstrip()
+                    )
                 else:
                     startIndex = None
                     for symbol in '([{':
@@ -1291,8 +1321,11 @@
         """
         line = line - 1
         pos = pos + 1
-        self.__source[line] = self.__source[line][:pos] + \
-            " " + self.__source[line][pos:]
+        self.__source[line] = (
+            self.__source[line][:pos] +
+            " " +
+            self.__source[line][pos:]
+        )
         # Missing whitespace added.
         return (1, "FE231", 0)
     
@@ -1323,8 +1356,6 @@
             newText = text[:col].rstrip() + text[col:].lstrip()
         
         # There could be an escaped newline
-        # like 'def foo(a=\
-        #               1)'
         if newText.endswith(('=\\\n', '=\\\r\n', '=\\\r')):
             self.__source[line] = newText.rstrip("\n\r \t\\")
             self.__source[line + 1] = self.__source[line + 1].lstrip()
@@ -1471,8 +1502,13 @@
             if ';' in text:
                 return (0, "", 0)
             
-            newText = text[:pos].rstrip("\t ,") + self.__eol + \
-                self.__getIndent(text) + "import " + text[pos:].lstrip("\t ,")
+            newText = (
+                text[:pos].rstrip("\t ,") +
+                self.__eol +
+                self.__getIndent(text) +
+                "import " +
+                text[pos:].lstrip("\t ,")
+            )
             self.__source[line] = newText
             # Imports were put on separate lines.
             return (1, "FE401", 0)
@@ -1497,8 +1533,9 @@
             fix (integer)
         """
         if apply:
-            multilineStringLines, docStringLines = \
+            multilineStringLines, docStringLines = (
                 self.__multilineStringLines()
+            )
             isDocString = line in docStringLines
             line = line - 1
             text = self.__source[line]
@@ -1544,8 +1581,10 @@
             a message for the fix (string) and an ID for a deferred
             fix (integer)
         """
-        self.__source[line - 1] = \
-            self.__source[line - 1].rstrip("\n\r \t\\") + self.__eol
+        self.__source[line - 1] = (
+            self.__source[line - 1].rstrip("\n\r \t\\") +
+            self.__eol
+        )
         # Redundant backslash in brackets removed.
         return (1, "FE502", 0)
     
@@ -1569,9 +1608,14 @@
             text = self.__source[line]
             pos = pos + 1
             
-            newText = text[:pos] + self.__eol + self.__getIndent(text) + \
-                self.__indentWord + text[pos:].lstrip("\n\r \t\\") + \
+            newText = (
+                text[:pos] +
+                self.__eol +
+                self.__getIndent(text) +
+                self.__indentWord +
+                text[pos:].lstrip("\n\r \t\\") +
                 self.__eol
+            )
             self.__source[line] = newText
             # Compound statement corrected.
             return (1, "FE701", 0)
@@ -1679,8 +1723,14 @@
                 arg = "self"
             
             if text.rstrip().endswith("("):
-                newText = text + self.__getIndent(text) + \
-                    self.__indentWord + arg + "," + self.__eol
+                newText = (
+                    text +
+                    self.__getIndent(text) +
+                    self.__indentWord +
+                    arg +
+                    "," +
+                    self.__eol
+                )
             else:
                 index = text.find("(") + 1
                 left = text[:index]
@@ -1746,8 +1796,9 @@
                 right = right.lstrip(", ")
                 if right.startswith("):"):
                     # merge with previous line
-                    self.__source[line - 1] = \
+                    self.__source[line - 1] = (
                         self.__source[line - 1].rstrip() + right
+                    )
                     self.__source[line] = ""
                 else:
                     self.__source[line] = indent + right
@@ -1918,10 +1969,11 @@
                         for j in range(i - 1, -1, -1):
                             jline, jlevel = stats[j]
                             if jlevel >= 0:
-                                want = \
-                                    have + \
-                                    self.__getlspace(after[jline - 1]) - \
+                                want = (
+                                    have +
+                                    self.__getlspace(after[jline - 1]) -
                                     self.__getlspace(lines[jline])
+                                )
                                 break
                     if want < 0:
                         # Still no luck -- leave it alone.
@@ -2212,8 +2264,9 @@
                 # pycodestyle.
                 visual_indent = indent_chances.get(start[1])
                 last_indent = start
-                rel_indent[row] = \
+                rel_indent[row] = (
                     pycodestyle.expand_indent(line) - indent_level
+                )
                 hang = rel_indent[row] - rel_indent[open_row]
 
                 if token_type == tokenize.OP and text in ']})':
@@ -2309,8 +2362,12 @@
                 return True, newText, ""
         elif '#' in self.__text:
             pos = self.__text.rfind("#")
-            newText = self.__text[:pos].rstrip() + self.__eol + \
-                self.__getIndent(self.__text) + self.__text[pos:]
+            newText = (
+                self.__text[:pos].rstrip() +
+                self.__eol +
+                self.__getIndent(self.__text) +
+                self.__text[pos:]
+            )
             if newText == self.__text:
                 return False, "", ""
             else:
@@ -2332,18 +2389,30 @@
                     if self.__nextText.lstrip().startswith("@"):
                         # eric doc comment
                         # create a new line and indent it
-                        newText = first + self.__eol + \
-                            self.__getIndent(first) + self.__indentWord + \
+                        newText = (
+                            first +
+                            self.__eol +
+                            self.__getIndent(first) +
+                            self.__indentWord +
                             second
+                        )
                         newNext = ""
                     else:
                         newText = first + self.__eol
-                        newNext = self.__getIndent(self.__nextText) + \
-                            second.rstrip() + " " + self.__nextText.lstrip()
+                        newNext = (
+                            self.__getIndent(self.__nextText) +
+                            second.rstrip() +
+                            " " +
+                            self.__nextText.lstrip()
+                        )
                 else:
                     # empty line, add a new line
-                    newText = first + self.__eol + self.__getIndent(first) + \
+                    newText = (
+                        first +
+                        self.__eol +
+                        self.__getIndent(first) +
                         second
+                    )
                     newNext = ""
             return True, newText, newNext
         
@@ -2359,8 +2428,12 @@
             if source.rstrip().endswith("\\"):
                 # just join the continuation line and let the next run
                 # handle it once it tokenizes ok
-                newText = indent + source.rstrip()[:-1].rstrip() + " " + \
+                newText = (
+                    indent +
+                    source.rstrip()[:-1].rstrip() +
+                    " " +
                     self.__nextText.lstrip()
+                )
                 if indent:
                     newNext = indent
                 else:
@@ -2442,9 +2515,11 @@
                         len(indentation) + 72)
 
         MIN_CHARACTER_REPEAT = 5
-        if len(newText) - len(newText.rstrip(newText[-1])) >= \
-                MIN_CHARACTER_REPEAT and \
-                not newText[-1].isalnum():
+        if (
+            len(newText) - len(newText.rstrip(newText[-1])) >=
+            MIN_CHARACTER_REPEAT and
+            not newText[-1].isalnum()
+        ):
             # Trim comments that end with things like ---------
             return newText[:maxLength] + self.__eol
         elif isLast and re.match(r"\s*#+\s*\w+", newText):
@@ -2504,13 +2579,21 @@
                     newText += self.__getIndent(newText) + second + self.__eol
                     newNext = ""
                 else:
-                    newNext = self.__getIndent(newNext) + \
-                        second + " " + newNext.lstrip()
+                    newNext = (
+                        self.__getIndent(newNext) +
+                        second +
+                        " " +
+                        newNext.lstrip()
+                    )
             else:
                 # empty line, add a new line
                 newText = first + self.__eol
-                newNext = self.__getIndent(newNext) + \
-                    second + self.__eol + newNext.lstrip()
+                newNext = (
+                    self.__getIndent(newNext) +
+                    second +
+                    self.__eol +
+                    newNext.lstrip()
+                )
             return newText, newNext
         else:
             return None
@@ -2672,8 +2755,10 @@
 
                 for ending in '([{':
                     # Avoid lonely opening. They result in longer lines.
-                    if currentLine.endswith(ending) and \
-                            len(currentLine.strip()) <= len(self.__indentWord):
+                    if (
+                        currentLine.endswith(ending) and
+                        len(currentLine.strip()) <= len(self.__indentWord)
+                    ):
                         rank += 100
 
                 if currentLine.endswith('%'):

eric ide

mercurial