Fri, 22 Jan 2021 16:48:43 +0100
Editor
- added functionality to insert docstring templates via the context menu (cursor placed on first line of function definition) or after entering the docstring start string (e.g. """ for Python)
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
3 | # Copyright (c) 2011 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2895
diff
changeset
|
7 | Module implementing a class to fix certain code style issues. |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import os |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | import re |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
12 | import tokenize |
7639
422fd05e9c91
Removed some more Python2 related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
13 | from io import StringIO |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
15 | # CodeStyleCheckerDialog tries to import FixableCodeStyleIssues which fails |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
16 | # under Python3. So ignore it. |
3228
f489068e51e8
Bugfixes to work under Python3 and unicode issues for Python2 fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3209
diff
changeset
|
17 | try: |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
18 | import pycodestyle |
3228
f489068e51e8
Bugfixes to work under Python3 and unicode issues for Python2 fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3209
diff
changeset
|
19 | except ImportError: |
f489068e51e8
Bugfixes to work under Python3 and unicode issues for Python2 fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3209
diff
changeset
|
20 | pass |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
2978
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
22 | FixableCodeStyleIssues = [ |
7639
422fd05e9c91
Removed some more Python2 related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
23 | "D111", "D112", "D121", "D131", "D141", "D142", |
422fd05e9c91
Removed some more Python2 related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
24 | "D143", "D144", "D145", |
2978
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
25 | "D221", "D222", "D231", "D242", "D243", "D244", |
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
26 | "D245", "D246", "D247", |
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
27 | "E101", "E111", "E121", "E122", "E123", "E124", |
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
28 | "E125", "E126", "E127", "E128", "E133", "E201", |
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
29 | "E202", "E203", "E211", "E221", "E222", "E223", |
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
30 | "E224", "E225", "E226", "E227", "E228", "E231", |
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
31 | "E241", "E242", "E251", "E261", "E262", "E271", |
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
32 | "E272", "E273", "E274", "E301", "E302", "E303", |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
33 | "E304", "E305", "E306", "E307", "E308", "E401", |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
34 | "E501", "E502", "E701", "E702", "E703", "E711", |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
35 | "E712", |
2978
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
36 | "N804", "N805", "N806", |
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
37 | "W191", "W291", "W292", "W293", "W391", "W603", |
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
38 | ] |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
869
diff
changeset
|
40 | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
41 | class CodeStyleFixer(object): |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | """ |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2895
diff
changeset
|
43 | Class implementing a fixer for certain code style issues. |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | """ |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
45 | def __init__(self, filename, sourceLines, fixCodes, noFixCodes, |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
46 | maxLineLength, blankLines, inPlace, eol, backup=False): |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | """ |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | Constructor |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
50 | @param filename name of the file to be fixed |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
51 | @type str |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | @param sourceLines list of source lines including eol marker |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
53 | @type list of str |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | @param fixCodes list of codes to be fixed as a comma separated |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
55 | string |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
56 | @type str |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2875
diff
changeset
|
57 | @param noFixCodes list of codes not to be fixed as a comma |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
58 | separated string |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
59 | @type str |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
60 | @param maxLineLength maximum allowed line length |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
61 | @type int |
6265
56bd09c4c297
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6264
diff
changeset
|
62 | @param blankLines tuple containg the number of blank lines before |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
63 | a top level class or function and before a method or nested class |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
64 | or function |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
65 | @type tuple of (int, int) |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
66 | @param inPlace flag indicating to modify the file in place |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
67 | @type bool |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
68 | @param eol end of line character(s) |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
69 | @type str |
3549
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
70 | @param backup flag indicating to create a backup before fixing |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
71 | anything |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
72 | @type bool |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | """ |
3057
10516539f238
Merge with default branch after shorten the code lines to max. 79 characters.
T.Rzepka <Tobias.Rzepka@gmail.com>
diff
changeset
|
74 | super(CodeStyleFixer, self).__init__() |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | self.__filename = filename |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | self.__origName = "" |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | self.__source = sourceLines[:] # save a copy |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | self.__fixCodes = [c.strip() for c in fixCodes.split(",") if c.strip()] |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
80 | self.__noFixCodes = [ |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
81 | c.strip() for c in noFixCodes.split(",") if c.strip()] |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2875
diff
changeset
|
82 | self.__maxLineLength = maxLineLength |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
83 | self.__blankLines = { |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
84 | "toplevel": blankLines[0], |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
85 | "method": blankLines[1], |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
86 | } |
853
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
87 | self.fixed = 0 |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
89 | self.__reindenter = None |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
90 | self.__indentWord = self.__getIndentWord() |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
91 | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
92 | if inPlace: |
3549
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
93 | self.__createBackup = backup |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
94 | else: |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | self.__origName = self.__filename |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
96 | self.__filename = os.path.join( |
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
97 | os.path.dirname(self.__filename), |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | "fixed_" + os.path.basename(self.__filename)) |
3549
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
99 | self.__createBackup = False |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
100 | self.__eol = eol |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
101 | |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | self.__fixes = { |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
103 | "D111": self.__fixD111, |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
104 | "D112": self.__fixD112, |
2923
01ac1f364b38
Started extending the PEP-8 fixer to correct PEP-257 issues as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2921
diff
changeset
|
105 | "D121": self.__fixD121, |
01ac1f364b38
Started extending the PEP-8 fixer to correct PEP-257 issues as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2921
diff
changeset
|
106 | "D131": self.__fixD131, |
01ac1f364b38
Started extending the PEP-8 fixer to correct PEP-257 issues as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2921
diff
changeset
|
107 | "D141": self.__fixD141, |
01ac1f364b38
Started extending the PEP-8 fixer to correct PEP-257 issues as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2921
diff
changeset
|
108 | "D142": self.__fixD142, |
01ac1f364b38
Started extending the PEP-8 fixer to correct PEP-257 issues as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2921
diff
changeset
|
109 | "D143": self.__fixD143, |
01ac1f364b38
Started extending the PEP-8 fixer to correct PEP-257 issues as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2921
diff
changeset
|
110 | "D144": self.__fixD144, |
01ac1f364b38
Started extending the PEP-8 fixer to correct PEP-257 issues as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2921
diff
changeset
|
111 | "D145": self.__fixD145, |
2937
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
112 | "D221": self.__fixD221, |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
113 | "D222": self.__fixD221, |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
114 | "D231": self.__fixD131, |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
115 | "D242": self.__fixD242, |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
116 | "D243": self.__fixD243, |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
117 | "D244": self.__fixD242, |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
118 | "D245": self.__fixD243, |
2937
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
119 | "D246": self.__fixD144, |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
120 | "D247": self.__fixD247, |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
121 | "E101": self.__fixE101, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
122 | "E111": self.__fixE101, |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
123 | "E121": self.__fixE121, |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
124 | "E122": self.__fixE122, |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
125 | "E123": self.__fixE123, |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
126 | "E124": self.__fixE121, |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
127 | "E125": self.__fixE125, |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
128 | "E126": self.__fixE126, |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
129 | "E127": self.__fixE127, |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
130 | "E128": self.__fixE127, |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
131 | "E133": self.__fixE126, |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
132 | "E201": self.__fixE201, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
133 | "E202": self.__fixE201, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
134 | "E203": self.__fixE201, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
135 | "E211": self.__fixE201, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
136 | "E221": self.__fixE221, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
137 | "E222": self.__fixE221, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
138 | "E223": self.__fixE221, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
139 | "E224": self.__fixE221, |
4445
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
140 | "E225": self.__fixE225, |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
141 | "E226": self.__fixE225, |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
142 | "E227": self.__fixE225, |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
143 | "E228": self.__fixE225, |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
144 | "E231": self.__fixE231, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
145 | "E241": self.__fixE221, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
146 | "E242": self.__fixE221, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
147 | "E251": self.__fixE251, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
148 | "E261": self.__fixE261, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
149 | "E262": self.__fixE261, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
150 | "E271": self.__fixE221, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
151 | "E272": self.__fixE221, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
152 | "E273": self.__fixE221, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
153 | "E274": self.__fixE221, |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
154 | "E301": self.__fixBlankLinesBefore, |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
155 | "E302": self.__fixBlankLinesBefore, |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
156 | "E303": self.__fixBlankLinesBefore, |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
157 | "E304": self.__fixE304, |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
158 | "E305": self.__fixBlankLinesBefore, |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
159 | "E306": self.__fixBlankLinesBefore, |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
160 | "E307": self.__fixBlankLinesBefore, |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
161 | "E308": self.__fixBlankLinesBefore, |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
162 | "E401": self.__fixE401, |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
163 | "E501": self.__fixE501, |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
164 | "E502": self.__fixE502, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
165 | "E701": self.__fixE701, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
166 | "E702": self.__fixE702, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
167 | "E703": self.__fixE702, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
168 | "E711": self.__fixE711, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
169 | "E712": self.__fixE711, |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
170 | "N804": self.__fixN804, |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
171 | "N805": self.__fixN804, |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
172 | "N806": self.__fixN806, |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
173 | "W191": self.__fixE101, |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
174 | "W291": self.__fixW291, |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
175 | "W292": self.__fixW292, |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
176 | "W293": self.__fixW291, |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
177 | "W391": self.__fixW391, |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
178 | "W603": self.__fixW603, |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | } |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | self.__modified = False |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3549
diff
changeset
|
181 | self.__stackLogical = [] |
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3549
diff
changeset
|
182 | # These need to be fixed before the file is saved but after all |
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3549
diff
changeset
|
183 | # other inline fixes. These work with logical lines. |
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3549
diff
changeset
|
184 | self.__stack = [] |
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3549
diff
changeset
|
185 | # These need to be fixed before the file is saved but after all |
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3549
diff
changeset
|
186 | # inline fixes. |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
187 | |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
188 | self.__multiLineNumbers = None |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
189 | self.__docLineNumbers = None |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
190 | |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
191 | self.__lastID = 0 |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | def saveFile(self, encoding): |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | """ |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | Public method to save the modified file. |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | @param encoding encoding of the source file (string) |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
198 | @return error message on failure (tuple of str) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
199 | """ |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
200 | import codecs |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
201 | |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
202 | if not self.__modified: |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | # no need to write |
6891
93f82da09f22
Fixed some code style issues detected by the new 'return' checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
204 | return None |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
205 | |
3549
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
206 | if self.__createBackup: |
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
207 | # create a backup file before writing any changes |
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
208 | if os.path.islink(self.__filename): |
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
209 | bfn = '{0}~'.format(os.path.realpath(self.__filename)) |
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
210 | else: |
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
211 | bfn = '{0}~'.format(self.__filename) |
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
212 | try: |
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
213 | os.remove(bfn) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7639
diff
changeset
|
214 | except OSError: |
3549
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
215 | # if there was an error, ignore it |
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
216 | pass |
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
217 | try: |
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
218 | os.rename(self.__filename, bfn) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7639
diff
changeset
|
219 | except OSError: |
3549
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
220 | # if there was an error, ignore it |
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
221 | pass |
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3546
diff
changeset
|
222 | |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
223 | txt = "".join(self.__source) |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | try: |
3745
4c6f1782f530
Possible exception on fixing code styles fixed (only Python2).
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
225 | enc = 'utf-8' if encoding == 'utf-8-bom' else encoding |
4c6f1782f530
Possible exception on fixing code styles fixed (only Python2).
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
226 | txt = txt.encode(enc) |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
227 | if encoding == 'utf-8-bom': |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
228 | txt = codecs.BOM_UTF8 + txt |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
229 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
230 | with open(self.__filename, "wb") as fp: |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
231 | fp.write(txt) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7639
diff
changeset
|
232 | except (OSError, UnicodeError) as err: |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
233 | # Could not save the file! Skipping it. Reason: {0} |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
234 | return ("FIXWRITE_ERROR", [str(err)]) |
6891
93f82da09f22
Fixed some code style issues detected by the new 'return' checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
235 | |
93f82da09f22
Fixed some code style issues detected by the new 'return' checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
236 | return None |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | |
2878
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
238 | def __codeMatch(self, code): |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
239 | """ |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
240 | Private method to check, if the code should be fixed. |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
241 | |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
242 | @param code to check (string) |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
243 | @return flag indicating it should be fixed (boolean) |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
244 | """ |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
245 | def mutualStartswith(a, b): |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
246 | """ |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
247 | Local helper method to compare the beginnings of two strings |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
248 | against each other. |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
249 | |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
250 | @return flag indicating that one string starts with the other |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
251 | (boolean) |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
252 | """ |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
253 | return b.startswith(a) or a.startswith(b) |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
254 | |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
255 | if self.__noFixCodes: |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
256 | for noFixCode in [c.strip() for c in self.__noFixCodes]: |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
257 | if mutualStartswith(code.lower(), noFixCode.lower()): |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
258 | return False |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
259 | |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
260 | if self.__fixCodes: |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
261 | for fixCode in [c.strip() for c in self.__fixCodes]: |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
262 | if mutualStartswith(code.lower(), fixCode.lower()): |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
263 | return True |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
264 | return False |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
265 | |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
266 | return True |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
267 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
268 | def fixIssue(self, line, pos, code): |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | """ |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | Public method to fix the fixable issues. |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
272 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
273 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
274 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
275 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
276 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
277 | @type str |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
278 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
279 | a message code for the fix, arguments list for the message |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
280 | and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
281 | @rtype tuple of (int, str, list, int) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | """ |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
283 | if ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
284 | line <= len(self.__source) and |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
285 | self.__codeMatch(code) and |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
286 | code in self.__fixes |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
287 | ): |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | res = self.__fixes[code](code, line, pos) |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
289 | if res[0] == 1: |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | self.__modified = True |
853
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
291 | self.fixed += 1 |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | else: |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
293 | res = (0, "", [], 0) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | return res |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
297 | def finalize(self): |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | """ |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
299 | Public method to apply all deferred fixes. |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
300 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
301 | @return dictionary containing the fix results |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | """ |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
303 | results = {} |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
304 | |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
305 | # step 1: do fixes operating on logical lines first |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
306 | for id_, code, line, pos in self.__stackLogical: |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
307 | res, msg, args, _ = self.__fixes[code](code, line, pos, apply=True) |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
308 | if res == 1: |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
309 | self.__modified = True |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
310 | self.fixed += 1 |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
311 | results[id_] = (res, msg, args) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
312 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
313 | # step 2: do fixes that change the number of lines |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
314 | for id_, code, line, pos in reversed(self.__stack): |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
315 | res, msg, args, _ = self.__fixes[code](code, line, pos, apply=True) |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
316 | if res == 1: |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
317 | self.__modified = True |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
318 | self.fixed += 1 |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
319 | results[id_] = (res, msg, args) |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
320 | |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
321 | return results |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
322 | |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
323 | def __getID(self): |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
324 | """ |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
325 | Private method to get the ID for a deferred fix. |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
326 | |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
327 | @return ID for a deferred fix (integer) |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
328 | """ |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
329 | self.__lastID += 1 |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
330 | return self.__lastID |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
332 | def __findLogical(self): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
333 | """ |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
334 | Private method to extract the index of all the starts and ends of |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
335 | lines. |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
336 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
337 | @return tuple containing two lists of integer with start and end tuples |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
338 | of lines |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
339 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
340 | logical_start = [] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
341 | logical_end = [] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
342 | last_newline = True |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
343 | sio = StringIO("".join(self.__source)) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
344 | parens = 0 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
345 | for t in tokenize.generate_tokens(sio.readline): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
346 | if t[0] in [tokenize.COMMENT, tokenize.DEDENT, |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
347 | tokenize.INDENT, tokenize.NL, |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
348 | tokenize.ENDMARKER]: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
349 | continue |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
350 | if not parens and t[0] in [tokenize.NEWLINE, tokenize.SEMI]: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
351 | last_newline = True |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
352 | logical_end.append((t[3][0] - 1, t[2][1])) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
353 | continue |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
354 | if last_newline and not parens: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
355 | logical_start.append((t[2][0] - 1, t[2][1])) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
356 | last_newline = False |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
357 | if t[0] == tokenize.OP: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
358 | if t[1] in '([{': |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
359 | parens += 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
360 | elif t[1] in '}])': |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
361 | parens -= 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
362 | return logical_start, logical_end |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
363 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
364 | def __getLogical(self, line, pos): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
365 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
366 | Private method to get the logical line corresponding to the given |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
367 | position. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
368 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
369 | @param line line number of the issue (integer) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
370 | @param pos position inside line (integer) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
371 | @return tuple of a tuple of two integers giving the start of the |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
372 | logical line, another tuple of two integers giving the end |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
373 | of the logical line and a list of strings with the original |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
374 | source lines |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
375 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
376 | try: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
377 | (logical_start, logical_end) = self.__findLogical() |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
378 | except (SyntaxError, tokenize.TokenError): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
379 | return None |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
380 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
381 | line = line - 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
382 | ls = None |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
383 | le = None |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
384 | for i in range(0, len(logical_start)): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
385 | x = logical_end[i] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
386 | if x[0] > line or (x[0] == line and x[1] > pos): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
387 | le = x |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
388 | ls = logical_start[i] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
389 | break |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
390 | if ls is None: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
391 | return None |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
392 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
393 | original = self.__source[ls[0]:le[0] + 1] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
394 | return ls, le, original |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
395 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
396 | def __getIndentWord(self): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
397 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
398 | Private method to determine the indentation type. |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
400 | @return string to be used for an indentation (string) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
401 | """ |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
402 | sio = StringIO("".join(self.__source)) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
403 | indentWord = " " # default in case of failure |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
404 | try: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
405 | for token in tokenize.generate_tokens(sio.readline): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
406 | if token[0] == tokenize.INDENT: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
407 | indentWord = token[1] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
408 | break |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
409 | except (SyntaxError, tokenize.TokenError): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
410 | pass |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
411 | return indentWord |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
412 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
413 | def __getIndent(self, line): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
414 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
415 | Private method to get the indentation string. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
416 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
417 | @param line line to determine the indentation string from (string) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
418 | @return indentation string (string) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
419 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
420 | return line.replace(line.lstrip(), "") |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
421 | |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
422 | def __multilineStringLines(self): |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
423 | """ |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
424 | Private method to determine the line numbers that are within multi line |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
425 | strings and these which are part of a documentation string. |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
426 | |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
427 | @return tuple of a set of line numbers belonging to a multi line |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
428 | string and a set of line numbers belonging to a multi line |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
429 | documentation string (tuple of two set of integer) |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
430 | """ |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
431 | if self.__multiLineNumbers is None: |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
432 | source = "".join(self.__source) |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
433 | sio = StringIO(source) |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
434 | self.__multiLineNumbers = set() |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
435 | self.__docLineNumbers = set() |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
436 | previousTokenType = '' |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
437 | try: |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
438 | for t in tokenize.generate_tokens(sio.readline): |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
439 | tokenType = t[0] |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
440 | startRow = t[2][0] |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
441 | endRow = t[3][0] |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
442 | |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
443 | if (tokenType == tokenize.STRING and startRow != endRow): |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
444 | if previousTokenType != tokenize.INDENT: |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
445 | self.__multiLineNumbers |= set( |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
446 | range(startRow, 1 + endRow)) |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
447 | else: |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
448 | self.__docLineNumbers |= set( |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
449 | range(startRow, 1 + endRow)) |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
450 | |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
451 | previousTokenType = tokenType |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
452 | except (SyntaxError, tokenize.TokenError): |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
453 | pass |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
454 | |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
455 | return self.__multiLineNumbers, self.__docLineNumbers |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
456 | |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
457 | def __fixReindent(self, line, pos, logical): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
458 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
459 | Private method to fix a badly indented line. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
460 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
461 | This is done by adding or removing from its initial indent only. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
462 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
463 | @param line line number of the issue (integer) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
464 | @param pos position inside line (integer) |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
465 | @param logical logical line structure |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
466 | @return flag indicating a change was done (boolean) |
7628
f904d0eef264
Checked the reported security related issue reports generated by the new security checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7610
diff
changeset
|
467 | @exception ValueError raised to indicate a bad 'logical' parameter |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
468 | """ |
7628
f904d0eef264
Checked the reported security related issue reports generated by the new security checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7610
diff
changeset
|
469 | if not logical: |
f904d0eef264
Checked the reported security related issue reports generated by the new security checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7610
diff
changeset
|
470 | raise ValueError("Bad value for 'logical' parameter.") |
f904d0eef264
Checked the reported security related issue reports generated by the new security checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7610
diff
changeset
|
471 | |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
472 | ls, _, original = logical |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
473 | |
2978
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
474 | rewrapper = IndentationWrapper(original) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
475 | valid_indents = rewrapper.pep8Expected() |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
476 | if not rewrapper.rel_indent: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
477 | return False |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
478 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
479 | if line > ls[0]: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
480 | # got a valid continuation line number |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
481 | row = line - ls[0] - 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
482 | # always pick the first option for this |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
483 | valid = valid_indents[row] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
484 | got = rewrapper.rel_indent[row] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
485 | else: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
486 | return False |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
487 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
488 | line1 = ls[0] + row |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
489 | # always pick the expected indent, for now. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
490 | indent_to = valid[0] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
491 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
492 | if got != indent_to: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
493 | orig_line = self.__source[line1] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
494 | new_line = ' ' * (indent_to) + orig_line.lstrip() |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
495 | if new_line == orig_line: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
496 | return False |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
497 | else: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
498 | self.__source[line1] = new_line |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
499 | return True |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
500 | else: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
501 | return False |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
502 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
503 | def __fixWhitespace(self, line, offset, replacement): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
504 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
505 | Private method to correct whitespace at the given offset. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
506 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
507 | @param line line to be corrected (string) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
508 | @param offset offset within line (integer) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
509 | @param replacement replacement string (string) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
510 | @return corrected line |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
511 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
512 | left = line[:offset].rstrip(" \t") |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
513 | right = line[offset:].lstrip(" \t") |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
514 | if right.startswith("#"): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
515 | return line |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | else: |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
517 | return left + replacement + right |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
519 | def __fixD111(self, code, line, pos): |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
520 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
521 | Private method to fix docstring enclosed in wrong quotes. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
522 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
523 | Codes: D111 |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
524 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
525 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
526 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
527 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
528 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
529 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
530 | @type int |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
531 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
532 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
533 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
534 | @rtype tuple of (int, str, list or int, int) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
535 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
536 | line = line - 1 |
4150
a0cece581ad0
Fixed an issue in the code style fixer related to docstrings enclosed in ' or " quotes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
537 | quotes = re.match(r"""\s*[ru]?('''|'|\")""", |
a0cece581ad0
Fixed an issue in the code style fixer related to docstrings enclosed in ' or " quotes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
538 | self.__source[line]).group(1) |
a0cece581ad0
Fixed an issue in the code style fixer related to docstrings enclosed in ' or " quotes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
539 | left, right = self.__source[line].split(quotes, 1) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
540 | self.__source[line] = left + '"""' + right |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
541 | while line < len(self.__source): |
4150
a0cece581ad0
Fixed an issue in the code style fixer related to docstrings enclosed in ' or " quotes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
542 | if self.__source[line].rstrip().endswith(quotes): |
a0cece581ad0
Fixed an issue in the code style fixer related to docstrings enclosed in ' or " quotes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
543 | left, right = self.__source[line].rsplit(quotes, 1) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
544 | self.__source[line] = left + '"""' + right |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
545 | break |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
546 | line += 1 |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
547 | |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
548 | # Triple single quotes converted to triple double quotes. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
549 | return (1, "FIXD111", [], 0) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
550 | |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
551 | def __fixD112(self, code, line, pos): |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
552 | """ |
7639
422fd05e9c91
Removed some more Python2 related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
553 | Private method to fix docstring 'r' in leading quotes. |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
554 | |
7639
422fd05e9c91
Removed some more Python2 related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
555 | Codes: D112 |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
556 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
557 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
558 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
559 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
560 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
561 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
562 | @type int |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
563 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
564 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
565 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
566 | @rtype tuple of (int, str, list or int, int) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
567 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
568 | line = line - 1 |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
569 | if code == "D112": |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
570 | insertChar = "r" |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
571 | else: |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
572 | return (0, "", 0) |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
573 | |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
574 | newText = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
575 | self.__getIndent(self.__source[line]) + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
576 | insertChar + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
577 | self.__source[line].lstrip() |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
578 | ) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
579 | self.__source[line] = newText |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
580 | # Introductory quotes corrected to be {0}""" |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
581 | return (1, 'FIXD112', [insertChar], 0) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
582 | |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
583 | def __fixD121(self, code, line, pos, apply=False): |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
584 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
585 | Private method to fix a single line docstring on multiple lines. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
586 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
587 | Codes: D121 |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
588 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
589 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
590 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
591 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
592 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
593 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
594 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
595 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
596 | @type bool |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
597 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
598 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
599 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
600 | @rtype tuple of (int, str, list or int, int) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
601 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
602 | if apply: |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
603 | line = line - 1 |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
604 | if not self.__source[line].lstrip().startswith( |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
605 | ('"""', 'r"""', 'u"""')): |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
606 | # only correctly formatted docstrings will be fixed |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
607 | return (0, "", [], 0) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
608 | |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
609 | docstring = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
610 | self.__source[line].rstrip() + |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
611 | self.__source[line + 1].strip() |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
612 | ) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
613 | if docstring.endswith('"""'): |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
614 | docstring += self.__eol |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
615 | else: |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
616 | docstring += self.__source[line + 2].lstrip() |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
617 | self.__source[line + 2] = "" |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
618 | |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
619 | self.__source[line] = docstring |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
620 | self.__source[line + 1] = "" |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
621 | # Single line docstring put on one line. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
622 | return (1, "FIXD121", [], 0) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
623 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
624 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
625 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
626 | return (-1, "", [], fixId) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
627 | |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
628 | def __fixD131(self, code, line, pos): |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
629 | """ |
2937
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
630 | Private method to fix a docstring summary not ending with a |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
631 | period. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
632 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
633 | Codes: D131 |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
634 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
635 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
636 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
637 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
638 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
639 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
640 | @type int |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
641 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
642 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
643 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
644 | @rtype tuple of (int, str, list or int, int) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
645 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
646 | line = line - 1 |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
647 | newText = "" |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
648 | if ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
649 | self.__source[line].rstrip().endswith(('"""', "'''")) and |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
650 | self.__source[line].lstrip().startswith(('"""', 'r"""', 'u"""')) |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
651 | ): |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
652 | # it is a one-liner |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
653 | newText = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
654 | self.__source[line].rstrip()[:-3].rstrip() + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
655 | "." + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
656 | self.__source[line].rstrip()[-3:] + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
657 | self.__eol |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
658 | ) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
659 | else: |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
660 | if ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
661 | line < len(self.__source) - 1 and |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
662 | (not self.__source[line + 1].strip() or |
2937
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
663 | self.__source[line + 1].lstrip().startswith("@") or |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
664 | (self.__source[line + 1].strip() in ('"""', "'''") and |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
665 | not self.__source[line].lstrip().startswith("@"))) |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
666 | ): |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
667 | newText = self.__source[line].rstrip() + "." + self.__eol |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
668 | |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
669 | if newText: |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
670 | self.__source[line] = newText |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
671 | # Period added to summary line. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
672 | return (1, "FIXD131", [], 0) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
673 | else: |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
674 | return (0, "", [], 0) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
675 | |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
676 | def __fixD141(self, code, line, pos, apply=False): |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
677 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
678 | Private method to fix a function/method docstring preceded by a |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
679 | blank line. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
680 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
681 | Codes: D141 |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
682 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
683 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
684 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
685 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
686 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
687 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
688 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
689 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
690 | @type bool |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
691 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
692 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
693 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
694 | @rtype tuple of (int, str, list or int, int) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
695 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
696 | if apply: |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
697 | line = line - 1 |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
698 | self.__source[line - 1] = "" |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
699 | # Blank line before function/method docstring removed. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
700 | return (1, "FIXD141", [], 0) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
701 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
702 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
703 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
704 | return (-1, "", [], fixId) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
705 | |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
706 | def __fixD142(self, code, line, pos, apply=False): |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
707 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
708 | Private method to fix a class docstring not preceded by a |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
709 | blank line. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
710 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
711 | Codes: D142 |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
712 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
713 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
714 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
715 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
716 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
717 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
718 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
719 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
720 | @type bool |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
721 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
722 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
723 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
724 | @rtype tuple of (int, str, list or int, int) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
725 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
726 | if apply: |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
727 | line = line - 1 |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
728 | self.__source[line] = self.__eol + self.__source[line] |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
729 | # Blank line inserted before class docstring. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
730 | return (1, "FIXD142", [], 0) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
731 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
732 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
733 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
734 | return (-1, "", [], fixId) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
735 | |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
736 | def __fixD143(self, code, line, pos, apply=False): |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
737 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
738 | Private method to fix a class docstring not followed by a |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
739 | blank line. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
740 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
741 | Codes: D143 |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
742 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
743 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
744 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
745 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
746 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
747 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
748 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
749 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
750 | @type bool |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
751 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
752 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
753 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
754 | @rtype tuple of (int, str, list or int, int) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
755 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
756 | if apply: |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
757 | line = line - 1 |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
758 | self.__source[line] += self.__eol |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
759 | # Blank line inserted after class docstring. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
760 | return (1, "FIXD143", [], 0) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
761 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
762 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
763 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
764 | return (-1, "", [], fixId) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
765 | |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
766 | def __fixD144(self, code, line, pos, apply=False): |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
767 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
768 | Private method to fix a docstring summary not followed by a |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
769 | blank line. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
770 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
771 | Codes: D144 |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
772 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
773 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
774 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
775 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
776 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
777 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
778 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
779 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
780 | @type bool |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
781 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
782 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
783 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
784 | @rtype tuple of (int, str, list or int, int) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
785 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
786 | if apply: |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
787 | line = line - 1 |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
788 | if not self.__source[line].rstrip().endswith("."): |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
789 | # only correct summary lines can be fixed here |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
790 | return (0, "", 0) |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
791 | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
792 | self.__source[line] += self.__eol |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
793 | # Blank line inserted after docstring summary. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
794 | return (1, "FIXD144", [], 0) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
795 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
796 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
797 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
798 | return (-1, "", [], fixId) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
799 | |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
800 | def __fixD145(self, code, line, pos, apply=False): |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
801 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
802 | Private method to fix the last paragraph of a multi-line docstring |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
803 | not followed by a blank line. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
804 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
805 | Codes: D143 |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
806 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
807 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
808 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
809 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
810 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
811 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
812 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
813 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
814 | @type bool |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
815 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
816 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
817 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
818 | @rtype tuple of (int, str, list or int, int) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
819 | """ |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
820 | if apply: |
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
821 | line = line - 1 |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
822 | self.__source[line] = self.__eol + self.__source[line] |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
823 | # Blank line inserted after last paragraph of docstring. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
824 | return (1, "FIXD145", [], 0) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
825 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
826 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
827 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
828 | return (-1, "", [], fixId) |
2925
04896af1b0e1
Completed the PEP-257 fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2923
diff
changeset
|
829 | |
2937
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
830 | def __fixD221(self, code, line, pos, apply=False): |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
831 | """ |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
832 | Private method to fix leading and trailing quotes of docstring |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
833 | not on separate lines. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
834 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
835 | Codes: D221, D222 |
2937
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
836 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
837 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
838 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
839 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
840 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
841 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
842 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
843 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
844 | @type bool |
2937
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
845 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
846 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
847 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
848 | @rtype tuple of (int, str, list or int, int) |
2937
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
849 | """ |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
850 | if apply: |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
851 | line = line - 1 |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
852 | indent = self.__getIndent(self.__source[line]) |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
853 | source = self.__source[line].strip() |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
854 | if code == "D221": |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
855 | # leading |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
856 | if source.startswith(("r", "u")): |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
857 | first, second = source[:4], source[4:].strip() |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
858 | else: |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
859 | first, second = source[:3], source[3:].strip() |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
860 | else: |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
861 | # trailing |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
862 | first, second = source[:-3].strip(), source[-3:] |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
863 | newText = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
864 | indent + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
865 | first + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
866 | self.__eol + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
867 | indent + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
868 | second + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
869 | self.__eol |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
870 | ) |
2937
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
871 | self.__source[line] = newText |
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
872 | if code == "D221": |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
873 | # Leading quotes put on separate line. |
7609
d5aff4fd0ef8
Code Style Checker: changed the dialog to allow the selection of checker categories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
874 | msg = "FIXD221" |
2937
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
875 | else: |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
876 | # Trailing quotes put on separate line. |
7609
d5aff4fd0ef8
Code Style Checker: changed the dialog to allow the selection of checker categories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
877 | msg = "FIXD222" |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
878 | return (1, msg, [], 0) |
2937
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
879 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
880 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
881 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
882 | return (-1, "", [], fixId) |
2937
de26bc76d6ee
Finished implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2936
diff
changeset
|
883 | |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
884 | def __fixD242(self, code, line, pos, apply=False): |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
885 | """ |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
886 | Private method to fix a class or function/method docstring preceded |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
887 | by a blank line. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
888 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
889 | Codes: D242, D244 |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
890 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
891 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
892 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
893 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
894 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
895 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
896 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
897 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
898 | @type bool |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
899 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
900 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
901 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
902 | @rtype tuple of (int, str, list or int, int) |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
903 | """ |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
904 | if apply: |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
905 | line = line - 1 |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
906 | self.__source[line - 1] = "" |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
907 | if code == "D242": |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
908 | # Blank line before class docstring removed. |
7609
d5aff4fd0ef8
Code Style Checker: changed the dialog to allow the selection of checker categories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
909 | msg = "FIXD242" |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
910 | else: |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
911 | # Blank line before function/method docstring removed. |
7609
d5aff4fd0ef8
Code Style Checker: changed the dialog to allow the selection of checker categories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
912 | msg = "FIXD244" |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
913 | return (1, msg, [], 0) |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
914 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
915 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
916 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
917 | return (-1, "", [], fixId) |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
918 | |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
919 | def __fixD243(self, code, line, pos, apply=False): |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
920 | """ |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
921 | Private method to fix a class or function/method docstring followed |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
922 | by a blank line. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
923 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
924 | Codes: D243, D245 |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
925 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
926 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
927 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
928 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
929 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
930 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
931 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
932 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
933 | @type bool |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
934 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
935 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
936 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
937 | @rtype tuple of (int, str, list or int, int) |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
938 | """ |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
939 | if apply: |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
940 | line = line - 1 |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
941 | self.__source[line + 1] = "" |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
942 | if code == "D243": |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
943 | # Blank line after class docstring removed. |
7609
d5aff4fd0ef8
Code Style Checker: changed the dialog to allow the selection of checker categories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
944 | msg = "FIXD243" |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
945 | else: |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
946 | # Blank line after function/method docstring removed. |
7609
d5aff4fd0ef8
Code Style Checker: changed the dialog to allow the selection of checker categories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
947 | msg = "FIXD245" |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
948 | return (1, msg, [], 0) |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
949 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
950 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
951 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
952 | return (-1, "", [], fixId) |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
953 | |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
954 | def __fixD247(self, code, line, pos, apply=False): |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
955 | """ |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
956 | Private method to fix a last paragraph of a docstring followed |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
957 | by a blank line. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
958 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
959 | Codes: D247 |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
960 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
961 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
962 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
963 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
964 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
965 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
966 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
967 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
968 | @type bool |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
969 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
970 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
971 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
972 | @rtype tuple of (int, str, list or int, int) |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
973 | """ |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
974 | if apply: |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
975 | line = line - 1 |
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
976 | self.__source[line - 1] = "" |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
977 | # Blank line after last paragraph removed. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
978 | return (1, "FIXD247", [], 0) |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
979 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
980 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
981 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
982 | return (-1, "", [], fixId) |
2936
2ff273068a10
Started implementing fixer method for eric style docstring issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2925
diff
changeset
|
983 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
984 | def __fixE101(self, code, line, pos): |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
985 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
986 | Private method to fix obsolete tab usage and indentation errors. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
987 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
988 | Codes: E101, E111, W191 |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
989 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
990 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
991 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
992 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
993 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
994 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
995 | @type int |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
996 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
997 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
998 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
999 | @rtype tuple of (int, str, list or int, int) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1000 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1001 | if self.__reindenter is None: |
2978
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
1002 | self.__reindenter = Reindenter(self.__source) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1003 | self.__reindenter.run() |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1004 | fixedLine = self.__reindenter.fixedLine(line - 1) |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1005 | if fixedLine is not None and fixedLine != self.__source[line - 1]: |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1006 | self.__source[line - 1] = fixedLine |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1007 | if code in ["E101", "W191"]: |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1008 | # Tab converted to 4 spaces. |
7609
d5aff4fd0ef8
Code Style Checker: changed the dialog to allow the selection of checker categories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1009 | msg = "FIXE101" |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1010 | else: |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1011 | # Indentation adjusted to be a multiple of four. |
7609
d5aff4fd0ef8
Code Style Checker: changed the dialog to allow the selection of checker categories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1012 | msg = "FIXE111" |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1013 | return (1, msg, [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1014 | else: |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1015 | return (0, "", [], 0) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1016 | |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1017 | def __fixE121(self, code, line, pos, apply=False): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1018 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1019 | Private method to fix the indentation of continuation lines and |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1020 | closing brackets. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1021 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1022 | Codes: E121, E124 |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1023 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1024 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1025 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1026 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1027 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1028 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1029 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1030 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1031 | @type bool |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1032 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1033 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1034 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1035 | @rtype tuple of (int, str, list or int, int) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1036 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1037 | if apply: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1038 | logical = self.__getLogical(line, pos) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1039 | if logical: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1040 | # Fix by adjusting initial indent level. |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1041 | changed = self.__fixReindent(line, pos, logical) |
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1042 | if changed: |
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1043 | if code == "E121": |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1044 | # Indentation of continuation line corrected. |
7609
d5aff4fd0ef8
Code Style Checker: changed the dialog to allow the selection of checker categories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1045 | msg = "FIXE121" |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1046 | elif code == "E124": |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1047 | # Indentation of closing bracket corrected. |
7609
d5aff4fd0ef8
Code Style Checker: changed the dialog to allow the selection of checker categories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1048 | msg = "FIXE124" |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1049 | return (1, msg, [], 0) |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1050 | return (0, "", [], 0) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1051 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1052 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1053 | self.__stackLogical.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1054 | return (-1, "", [], fixId) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1055 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1056 | def __fixE122(self, code, line, pos, apply=False): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1057 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1058 | Private method to fix a missing indentation of continuation lines. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1059 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1060 | Codes: E122 |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1061 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1062 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1063 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1064 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1065 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1066 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1067 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1068 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1069 | @type bool |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1070 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1071 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1072 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1073 | @rtype tuple of (int, str, list or int, int) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1074 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1075 | if apply: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1076 | logical = self.__getLogical(line, pos) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1077 | if logical: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1078 | # Fix by adding an initial indent. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1079 | modified = self.__fixReindent(line, pos, logical) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1080 | if not modified: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1081 | # fall back to simple method |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1082 | line = line - 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1083 | text = self.__source[line] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1084 | indentation = self.__getIndent(text) |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1085 | self.__source[line] = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1086 | indentation + |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1087 | self.__indentWord + text.lstrip() |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1088 | ) |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1089 | # Missing indentation of continuation line corrected. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1090 | return (1, "FIXE122", [], 0) |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1091 | return (0, "", [], 0) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1092 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1093 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1094 | self.__stackLogical.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1095 | return (-1, "", [], fixId) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1096 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1097 | def __fixE123(self, code, line, pos, apply=False): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1098 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1099 | Private method to fix the indentation of a closing bracket lines. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1100 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1101 | Codes: E123 |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1102 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1103 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1104 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1105 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1106 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1107 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1108 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1109 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1110 | @type bool |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1111 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1112 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1113 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1114 | @rtype tuple of (int, str, list or int, int) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1115 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1116 | if apply: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1117 | logical = self.__getLogical(line, pos) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1118 | if logical: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1119 | # Fix by deleting whitespace to the correct level. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1120 | logicalLines = logical[2] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1121 | row = line - 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1122 | text = self.__source[row] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1123 | newText = self.__getIndent(logicalLines[0]) + text.lstrip() |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1124 | if newText == text: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1125 | # fall back to slower method |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1126 | changed = self.__fixReindent(line, pos, logical) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1127 | else: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1128 | self.__source[row] = newText |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1129 | changed = True |
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1130 | if changed: |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1131 | # Closing bracket aligned to opening bracket. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1132 | return (1, "FIXE123", [], 0) |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1133 | return (0, "", [], 0) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1134 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1135 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1136 | self.__stackLogical.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1137 | return (-1, "", [], fixId) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1138 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1139 | def __fixE125(self, code, line, pos, apply=False): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1140 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1141 | Private method to fix the indentation of continuation lines not |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1142 | distinguishable from next logical line. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1143 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1144 | Codes: E125 |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1145 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1146 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1147 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1148 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1149 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1150 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1151 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1152 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1153 | @type bool |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1154 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1155 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1156 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1157 | @rtype tuple of (int, str, list or int, int) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1158 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1159 | if apply: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1160 | logical = self.__getLogical(line, pos) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1161 | if logical: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1162 | # Fix by adjusting initial indent level. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1163 | modified = self.__fixReindent(line, pos, logical) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1164 | if not modified: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1165 | row = line - 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1166 | text = self.__source[row] |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1167 | self.__source[row] = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1168 | self.__getIndent(text) + |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1169 | self.__indentWord + text.lstrip() |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1170 | ) |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1171 | # Indentation level changed. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1172 | return (1, "FIXE125", [], 0) |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1173 | return (0, "", [], 0) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1174 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1175 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1176 | self.__stackLogical.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1177 | return (-1, "", [], fixId) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1178 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1179 | def __fixE126(self, code, line, pos, apply=False): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1180 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1181 | Private method to fix over-indented/under-indented hanging |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1182 | indentation. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1183 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1184 | Codes: E126, E133 |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1185 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1186 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1187 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1188 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1189 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1190 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1191 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1192 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1193 | @type bool |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1194 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1195 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1196 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1197 | @rtype tuple of (int, str, list or int, int) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1198 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1199 | if apply: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1200 | logical = self.__getLogical(line, pos) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1201 | if logical: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1202 | # Fix by deleting whitespace to the left. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1203 | logicalLines = logical[2] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1204 | row = line - 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1205 | text = self.__source[row] |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1206 | newText = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1207 | self.__getIndent(logicalLines[0]) + |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1208 | self.__indentWord + text.lstrip() |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1209 | ) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1210 | if newText == text: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1211 | # fall back to slower method |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1212 | changed = self.__fixReindent(line, pos, logical) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1213 | else: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1214 | self.__source[row] = newText |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1215 | changed = True |
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1216 | if changed: |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1217 | # Indentation level of hanging indentation changed. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1218 | return (1, "FIXE126", [], 0) |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1219 | return (0, "", [], 0) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1220 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1221 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1222 | self.__stackLogical.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1223 | return (-1, "", [], fixId) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1224 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1225 | def __fixE127(self, code, line, pos, apply=False): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1226 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1227 | Private method to fix over/under indented lines. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1228 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1229 | Codes: E127, E128 |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1230 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1231 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1232 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1233 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1234 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1235 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1236 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1237 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1238 | @type bool |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1239 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1240 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1241 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1242 | @rtype tuple of (int, str, list or int, int) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1243 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1244 | if apply: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1245 | logical = self.__getLogical(line, pos) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1246 | if logical: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1247 | # Fix by inserting/deleting whitespace to the correct level. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1248 | logicalLines = logical[2] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1249 | row = line - 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1250 | text = self.__source[row] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1251 | newText = text |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1252 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1253 | if logicalLines[0].rstrip().endswith('\\'): |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1254 | newText = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1255 | self.__getIndent(logicalLines[0]) + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1256 | self.__indentWord + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1257 | text.lstrip() |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1258 | ) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1259 | else: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1260 | startIndex = None |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1261 | for symbol in '([{': |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1262 | if symbol in logicalLines[0]: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1263 | foundIndex = logicalLines[0].find(symbol) + 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1264 | if startIndex is None: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1265 | startIndex = foundIndex |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1266 | else: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1267 | startIndex = min(startIndex, foundIndex) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1268 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1269 | if startIndex is not None: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1270 | newText = startIndex * ' ' + text.lstrip() |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1271 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1272 | if newText == text: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1273 | # fall back to slower method |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1274 | changed = self.__fixReindent(line, pos, logical) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1275 | else: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1276 | self.__source[row] = newText |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1277 | changed = True |
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1278 | if changed: |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1279 | # Visual indentation corrected. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1280 | return (1, "FIXE127", [], 0) |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1281 | return (0, "", [], 0) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1282 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1283 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1284 | self.__stackLogical.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1285 | return (-1, "", [], fixId) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1286 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1287 | def __fixE201(self, code, line, pos): |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1288 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1289 | Private method to fix extraneous whitespace. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1290 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1291 | Codes: E201, E202, E203, E211 |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1292 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1293 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1294 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1295 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1296 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1297 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1298 | @type int |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1299 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1300 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1301 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1302 | @rtype tuple of (int, str, list or int, int) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1303 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1304 | line = line - 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1305 | text = self.__source[line] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1306 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1307 | if '"""' in text or "'''" in text or text.rstrip().endswith('\\'): |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1308 | return (0, "", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1309 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1310 | newText = self.__fixWhitespace(text, pos, '') |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1311 | if newText == text: |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1312 | return (0, "", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1313 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1314 | self.__source[line] = newText |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1315 | # Extraneous whitespace removed. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1316 | return (1, "FIXE201", [], 0) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1317 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1318 | def __fixE221(self, code, line, pos): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1319 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1320 | Private method to fix extraneous whitespace around operator or |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1321 | keyword. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1322 | |
4445
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1323 | Codes: E221, E222, E223, E224, E241, E242, E271, E272, E273, E274 |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1324 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1325 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1326 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1327 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1328 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1329 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1330 | @type int |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1331 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1332 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1333 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1334 | @rtype tuple of (int, str, list or int, int) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1335 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1336 | line = line - 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1337 | text = self.__source[line] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1338 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1339 | if '"""' in text or "'''" in text or text.rstrip().endswith('\\'): |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1340 | return (0, "", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1341 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1342 | newText = self.__fixWhitespace(text, pos, ' ') |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1343 | if newText == text: |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1344 | return (0, "", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1345 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1346 | self.__source[line] = newText |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1347 | return (1, "FIXE221", [], 0) |
4445
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1348 | |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1349 | def __fixE225(self, code, line, pos): |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1350 | """ |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1351 | Private method to fix extraneous whitespaces around operator. |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1352 | |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1353 | Codes: E225, E226, E227, E228 |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1354 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1355 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1356 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1357 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1358 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1359 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1360 | @type int |
4445
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1361 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1362 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1363 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1364 | @rtype tuple of (int, str, list or int, int) |
4445
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1365 | """ |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1366 | line = line - 1 |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1367 | text = self.__source[line] |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1368 | |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1369 | if '"""' in text or "'''" in text or text.rstrip().endswith('\\'): |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1370 | return (0, "", [], 0) |
4445
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1371 | |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1372 | newText = text |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1373 | # determine length of operator |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1374 | tokens = '<>*/=^&|%!+-' |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1375 | pos2 = pos |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1376 | token_delimiter = len(tokens) |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1377 | for _ in range(3): |
4445
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1378 | if pos2 < len(text) and text[pos2] in tokens[:token_delimiter]: |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1379 | pos2 += 1 |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1380 | # only the first five could be repeated |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1381 | token_delimiter = 5 |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1382 | else: |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1383 | break |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1384 | if pos2 < len(text) and text[pos2] not in ' \t': |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1385 | newText = self.__fixWhitespace(newText, pos2, ' ') |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1386 | newText = self.__fixWhitespace(newText, pos, ' ') |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1387 | if newText == text: |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1388 | return (0, "", [], 0) |
4445
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1389 | |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1390 | self.__source[line] = newText |
5636dc48e1a0
Own fixer for missing whitespaces around operators (1 pass fix) implemented.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4150
diff
changeset
|
1391 | # Missing whitespaces added. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1392 | return (1, "FIXE225", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1393 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1394 | def __fixE231(self, code, line, pos): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1395 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1396 | Private method to fix missing whitespace after ',;:'. |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1397 | |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1398 | Codes: E231 |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1399 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1400 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1401 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1402 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1403 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1404 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1405 | @type int |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1406 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1407 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1408 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1409 | @rtype tuple of (int, str, list or int, int) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1410 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1411 | line = line - 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1412 | pos = pos + 1 |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1413 | self.__source[line] = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1414 | self.__source[line][:pos] + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1415 | " " + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1416 | self.__source[line][pos:] |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1417 | ) |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1418 | # Missing whitespace added. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1419 | return (1, "FIXE231", [], 0) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1420 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1421 | def __fixE251(self, code, line, pos): |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1422 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1423 | Private method to fix extraneous whitespace around keyword and |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1424 | default parameter equals. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1425 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1426 | Codes: E251 |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1427 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1428 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1429 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1430 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1431 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1432 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1433 | @type int |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1434 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1435 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1436 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1437 | @rtype tuple of (int, str, list or int, int) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1438 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1439 | line = line - 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1440 | text = self.__source[line] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1441 | |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
1442 | # This is necessary since pycodestyle sometimes reports columns that |
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
1443 | # goes past the end of the physical line. This happens in cases like, |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1444 | # foo(bar\n=None) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1445 | col = min(pos, len(text) - 1) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1446 | if text[col].strip(): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1447 | newText = text |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1448 | else: |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1449 | newText = text[:col].rstrip() + text[col:].lstrip() |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1450 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1451 | # There could be an escaped newline |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1452 | if newText.endswith(('=\\\n', '=\\\r\n', '=\\\r')): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1453 | self.__source[line] = newText.rstrip("\n\r \t\\") |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1454 | self.__source[line + 1] = self.__source[line + 1].lstrip() |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1455 | else: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1456 | self.__source[line] = newText |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1457 | # Extraneous whitespace removed. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1458 | return (1, "FIXE251", [], 0) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1459 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1460 | def __fixE261(self, code, line, pos): |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1461 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1462 | Private method to fix whitespace before or after inline comment. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1463 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1464 | Codes: E261, E262 |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1465 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1466 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1467 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1468 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1469 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1470 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1471 | @type int |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1472 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1473 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1474 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1475 | @rtype tuple of (int, str, list or int, int) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1476 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1477 | line = line - 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1478 | text = self.__source[line] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1479 | left = text[:pos].rstrip(' \t#') |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1480 | right = text[pos:].lstrip(' \t#') |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1481 | newText = left + (" # " + right if right.strip() else right) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1482 | self.__source[line] = newText |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1483 | # Whitespace around comment sign corrected. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1484 | return (1, "FIXE261", [], 0) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1485 | |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
1486 | def __fixBlankLinesBefore(self, code, line, pos, apply=False): |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1487 | """ |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
1488 | Private method to fix the need for blank lines before class, function |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
1489 | and method definitions. |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1490 | |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
1491 | Codes: E301, E302, E303, E305, E306, E307, E308 |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
1492 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1493 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1494 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1495 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1496 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1497 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1498 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1499 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1500 | @type bool |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1501 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1502 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1503 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1504 | @rtype tuple of (int, str, list or int, int) |
853
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1505 | """ |
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1506 | if apply: |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
1507 | if code in ["E301", "E306", "E307"]: |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
1508 | blankLinesBefore = self.__blankLines["method"] |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
1509 | elif code == "E308": |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
1510 | blankLinesBefore = 1 |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
1511 | else: |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
1512 | blankLinesBefore = self.__blankLines["toplevel"] |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
1513 | |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1514 | # count blank lines |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1515 | index = line - 1 |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1516 | blanks = 0 |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1517 | while index: |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1518 | if self.__source[index - 1].strip() == "": |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1519 | blanks += 1 |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1520 | index -= 1 |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1521 | else: |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1522 | break |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
1523 | delta = blanks - blankLinesBefore |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1524 | |
853
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1525 | line -= 1 |
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1526 | if delta < 0: |
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1527 | # insert blank lines (one or two) |
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1528 | while delta < 0: |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1529 | self.__source.insert(line, self.__eol) |
853
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1530 | delta += 1 |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1531 | # %n blank line(s) inserted. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1532 | return (1, "FIXE302+", blankLinesBefore - blanks, 0) |
853
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1533 | elif delta > 0: |
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1534 | # delete superfluous blank lines |
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1535 | while delta > 0: |
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1536 | del self.__source[line - 1] |
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1537 | line -= 1 |
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1538 | delta -= 1 |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1539 | # %n superfluous line(s) removed. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1540 | return (1, "FIXE302-", blanks - blankLinesBefore, 0) |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1541 | else: |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1542 | return (0, "", [], 0) |
853
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1543 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1544 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1545 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1546 | return (-1, "", [], fixId) |
853
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
852
diff
changeset
|
1547 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1548 | def __fixE304(self, code, line, pos, apply=False): |
851
321d29b93238
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
1549 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1550 | Private method to fix superfluous blank lines after a function |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1551 | decorator. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1552 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1553 | Codes: E304 |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1554 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1555 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1556 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1557 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1558 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1559 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1560 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1561 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1562 | @type bool |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1563 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1564 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1565 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1566 | @rtype tuple of (int, str, list or int, int) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1567 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1568 | if apply: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1569 | index = line - 2 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1570 | while index: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1571 | if self.__source[index].strip() == "": |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1572 | del self.__source[index] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1573 | index -= 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1574 | else: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1575 | break |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1576 | # Superfluous blank lines after function decorator removed. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1577 | return (1, "FIXE304", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1578 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1579 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1580 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1581 | return (-1, "", [], fixId) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1582 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1583 | def __fixE401(self, code, line, pos, apply=False): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1584 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1585 | Private method to fix multiple imports on one line. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1586 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1587 | Codes: E401 |
851
321d29b93238
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
1588 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1589 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1590 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1591 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1592 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1593 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1594 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1595 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1596 | @type bool |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1597 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1598 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1599 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1600 | @rtype tuple of (int, str, list or int, int) |
851
321d29b93238
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
1601 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1602 | if apply: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1603 | line = line - 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1604 | text = self.__source[line] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1605 | if not text.lstrip().startswith("import"): |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1606 | return (0, "", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1607 | |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
1608 | # pycodestyle (1.3.1) reports false positive if there is an import |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1609 | # statement followed by a semicolon and some unrelated |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1610 | # statement with commas in it. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1611 | if ';' in text: |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1612 | return (0, "", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1613 | |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1614 | newText = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1615 | text[:pos].rstrip("\t ,") + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1616 | self.__eol + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1617 | self.__getIndent(text) + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1618 | "import " + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1619 | text[pos:].lstrip("\t ,") |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1620 | ) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1621 | self.__source[line] = newText |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1622 | # Imports were put on separate lines. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1623 | return (1, "FIXE401", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1624 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1625 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1626 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1627 | return (-1, "", [], fixId) |
851
321d29b93238
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
1628 | |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1629 | def __fixE501(self, code, line, pos, apply=False): |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1630 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1631 | Private method to fix the long lines by breaking them. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1632 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1633 | Codes: E501 |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1634 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1635 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1636 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1637 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1638 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1639 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1640 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1641 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1642 | @type bool |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1643 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1644 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1645 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1646 | @rtype tuple of (int, str, list or int, int) |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1647 | """ |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1648 | if apply: |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1649 | multilineStringLines, docStringLines = ( |
2976
393f5faaa017
A little optimazation to the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2962
diff
changeset
|
1650 | self.__multilineStringLines() |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1651 | ) |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1652 | isDocString = line in docStringLines |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1653 | line = line - 1 |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1654 | text = self.__source[line] |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1655 | if line > 0: |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1656 | prevText = self.__source[line - 1] |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1657 | else: |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1658 | prevText = "" |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1659 | if line < len(self.__source) - 1: |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1660 | nextText = self.__source[line + 1] |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1661 | else: |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1662 | nextText = "" |
2978
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
1663 | shortener = LineShortener( |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1664 | text, prevText, nextText, |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1665 | maxLength=self.__maxLineLength, eol=self.__eol, |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
1666 | indentWord=self.__indentWord, isDocString=isDocString) |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1667 | changed, newText, newNextText = shortener.shorten() |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1668 | if changed: |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1669 | if newText != text: |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1670 | self.__source[line] = newText |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1671 | if newNextText and newNextText != nextText: |
2981
0c5205aa7a5a
Fixed some issues in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2978
diff
changeset
|
1672 | if newNextText == " ": |
0c5205aa7a5a
Fixed some issues in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2978
diff
changeset
|
1673 | newNextText = "" |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1674 | self.__source[line + 1] = newNextText |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1675 | # Long lines have been shortened. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1676 | return (1, "FIXE501", [], 0) |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1677 | else: |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1678 | return (0, "", [], 0) |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1679 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1680 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1681 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1682 | return (-1, "", [], fixId) |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
1683 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1684 | def __fixE502(self, code, line, pos): |
851
321d29b93238
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
1685 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1686 | Private method to fix redundant backslash within brackets. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1687 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1688 | Codes: E502 |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1689 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1690 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1691 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1692 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1693 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1694 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1695 | @type int |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1696 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1697 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1698 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1699 | @rtype tuple of (int, str, list or int, int) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1700 | """ |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1701 | self.__source[line - 1] = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1702 | self.__source[line - 1].rstrip("\n\r \t\\") + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1703 | self.__eol |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1704 | ) |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1705 | # Redundant backslash in brackets removed. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1706 | return (1, "FIXE502", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1707 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1708 | def __fixE701(self, code, line, pos, apply=False): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1709 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1710 | Private method to fix colon-separated compound statements. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1711 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1712 | Codes: E701 |
851
321d29b93238
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
1713 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1714 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1715 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1716 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1717 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1718 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1719 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1720 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1721 | @type bool |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1722 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1723 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1724 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1725 | @rtype tuple of (int, str, list or int, int) |
851
321d29b93238
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
1726 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1727 | if apply: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1728 | line = line - 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1729 | text = self.__source[line] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1730 | pos = pos + 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1731 | |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1732 | newText = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1733 | text[:pos] + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1734 | self.__eol + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1735 | self.__getIndent(text) + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1736 | self.__indentWord + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1737 | text[pos:].lstrip("\n\r \t\\") + |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1738 | self.__eol |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1739 | ) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1740 | self.__source[line] = newText |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1741 | # Compound statement corrected. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1742 | return (1, "FIXE701", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1743 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1744 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1745 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1746 | return (-1, "", [], fixId) |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
1747 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1748 | def __fixE702(self, code, line, pos, apply=False): |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
1749 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1750 | Private method to fix semicolon-separated compound statements. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1751 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1752 | Codes: E702, E703 |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
1753 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1754 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1755 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1756 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1757 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1758 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1759 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1760 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1761 | @type bool |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1762 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1763 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1764 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1765 | @rtype tuple of (int, str, list or int, int) |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
1766 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1767 | if apply: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1768 | line = line - 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1769 | text = self.__source[line] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1770 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1771 | if text.rstrip().endswith("\\"): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1772 | # normalize '1; \\\n2' into '1; 2' |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1773 | self.__source[line] = text.rstrip("\n\r \t\\") |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1774 | self.__source[line + 1] = self.__source[line + 1].lstrip() |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1775 | elif text.rstrip().endswith(";"): |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1776 | self.__source[line] = text.rstrip("\n\r \t;") + self.__eol |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1777 | else: |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1778 | first = text[:pos].rstrip("\n\r \t;") + self.__eol |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1779 | second = text[pos:].lstrip("\n\r \t;") |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1780 | self.__source[line] = first + self.__getIndent(text) + second |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1781 | # Compound statement corrected. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1782 | return (1, "FIXE702", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1783 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1784 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1785 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1786 | return (-1, "", [], fixId) |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
1787 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1788 | def __fixE711(self, code, line, pos): |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
1789 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1790 | Private method to fix comparison with None. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1791 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1792 | Codes: E711, E712 |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
1793 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1794 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1795 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1796 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1797 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1798 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1799 | @type int |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1800 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1801 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1802 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1803 | @rtype tuple of (int, str, list or int, int) |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
1804 | """ |
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
1805 | line = line - 1 |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1806 | text = self.__source[line] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1807 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1808 | rightPos = pos + 2 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1809 | if rightPos >= len(text): |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1810 | return (0, "", 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1811 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1812 | left = text[:pos].rstrip() |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1813 | center = text[pos:rightPos] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1814 | right = text[rightPos:].lstrip() |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1815 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1816 | if not right.startswith(("None", "True", "False")): |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1817 | return (0, "", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1818 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1819 | if center.strip() == "==": |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1820 | center = "is" |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1821 | elif center.strip() == "!=": |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1822 | center = "is not" |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1823 | else: |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1824 | return (0, "", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1825 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1826 | self.__source[line] = " ".join([left, center, right]) |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1827 | # Comparison to None/True/False corrected. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1828 | return (1, "FIXE711", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1829 | |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1830 | def __fixN804(self, code, line, pos, apply=False): |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1831 | """ |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1832 | Private method to fix a wrong first argument of normal and |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1833 | class methods. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1834 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1835 | Codes: N804, N805 |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1836 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1837 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1838 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1839 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1840 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1841 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1842 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1843 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1844 | @type bool |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1845 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1846 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1847 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1848 | @rtype tuple of (int, str, list or int, int) |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1849 | """ |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1850 | if apply: |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1851 | line = line - 1 |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1852 | text = self.__source[line] |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1853 | if code == "N804": |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1854 | arg = "cls" |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1855 | else: |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1856 | arg = "self" |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1857 | |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1858 | if text.rstrip().endswith("("): |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1859 | newText = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1860 | text + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1861 | self.__getIndent(text) + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1862 | self.__indentWord + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1863 | arg + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1864 | "," + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1865 | self.__eol |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1866 | ) |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1867 | else: |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1868 | index = text.find("(") + 1 |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1869 | left = text[:index] |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1870 | right = text[index:] |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1871 | if right.startswith(")"): |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1872 | center = arg |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1873 | else: |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1874 | center = arg + ", " |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1875 | newText = left + center + right |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1876 | self.__source[line] = newText |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1877 | # '{0}' argument added. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1878 | return (1, "FIXN804", [arg], 0) |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1879 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1880 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1881 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1882 | return (-1, "", [], fixId) |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1883 | |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1884 | def __fixN806(self, code, line, pos, apply=False): |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1885 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1886 | Private method to fix a wrong first argument of static methods. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1887 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1888 | Codes: N806 |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1889 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1890 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1891 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1892 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1893 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1894 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1895 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1896 | @param apply flag indicating, that the fix should be applied |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1897 | @type bool |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1898 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1899 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1900 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1901 | @rtype tuple of (int, str, list or int, int) |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1902 | """ |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1903 | if apply: |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1904 | line = line - 1 |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1905 | text = self.__source[line] |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1906 | index = text.find("(") + 1 |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1907 | left = text[:index] |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1908 | right = text[index:] |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1909 | |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1910 | if right.startswith(("cls", "self")): |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1911 | # cls or self are on the definition line |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1912 | if right.startswith("cls"): |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1913 | right = right[3:] |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1914 | arg = "cls" |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1915 | else: |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1916 | right = right[4:] |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1917 | arg = "self" |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1918 | right = right.lstrip(", ") |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1919 | newText = left + right |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1920 | self.__source[line] = newText |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1921 | else: |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1922 | # they are on the next line |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1923 | line = line + 1 |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1924 | text = self.__source[line] |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1925 | indent = self.__getIndent(text) |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1926 | right = text.lstrip() |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1927 | if right.startswith("cls"): |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1928 | right = right[3:] |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1929 | arg = "cls" |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1930 | else: |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1931 | right = right[4:] |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1932 | arg = "self" |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1933 | right = right.lstrip(", ") |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1934 | if right.startswith("):"): |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1935 | # merge with previous line |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1936 | self.__source[line - 1] = ( |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1937 | self.__source[line - 1].rstrip() + right |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1938 | ) |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1939 | self.__source[line] = "" |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1940 | else: |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1941 | self.__source[line] = indent + right |
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1942 | |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1943 | # '{0}' argument removed. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1944 | return (1, "FIXN806", [arg], 0) |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1945 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1946 | fixId = self.__getID() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1947 | self.__stack.append((fixId, code, line, pos)) |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1948 | return (-1, "", [], fixId) |
2895
4a44d92757f9
Implemented some fixers for wrong naming conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2894
diff
changeset
|
1949 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1950 | def __fixW291(self, code, line, pos): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1951 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1952 | Private method to fix trailing whitespace. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1953 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1954 | Codes: W291, W293 |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1955 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1956 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1957 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1958 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1959 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1960 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1961 | @type int |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1962 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1963 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1964 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1965 | @rtype tuple of (int, str, list or int, int) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1966 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1967 | self.__source[line - 1] = re.sub(r'[\t ]+(\r?)$', r"\1", |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1968 | self.__source[line - 1]) |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1969 | # Whitespace stripped from end of line. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1970 | return (1, "FIXW291", [], 0) |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
1971 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1972 | def __fixW292(self, code, line, pos): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1973 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1974 | Private method to fix a missing newline at the end of file. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1975 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1976 | Codes: W292 |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1977 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1978 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1979 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1980 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1981 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1982 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1983 | @type int |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
1984 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1985 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1986 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1987 | @rtype tuple of (int, str, list or int, int) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1988 | """ |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1989 | self.__source[line - 1] += self.__eol |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
1990 | # newline added to end of file. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1991 | return (1, "FIXW292", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1992 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1993 | def __fixW391(self, code, line, pos): |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
1994 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1995 | Private method to fix trailing blank lines. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1996 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
1997 | Codes: W391 |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1998 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
1999 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2000 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2001 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2002 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2003 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2004 | @type int |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
2005 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2006 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2007 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2008 | @rtype tuple of (int, str, list or int, int) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2009 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2010 | index = line - 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2011 | while index: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2012 | if self.__source[index].strip() == "": |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2013 | del self.__source[index] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2014 | index -= 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2015 | else: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2016 | break |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
2017 | # Superfluous trailing blank lines removed from end of file. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2018 | return (1, "FIXW391", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2019 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2020 | def __fixW603(self, code, line, pos): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2021 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
2022 | Private method to fix the not equal notation. |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
2023 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
2024 | Codes: W603 |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
2025 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2026 | @param code code of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2027 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2028 | @param line line number of the issue |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2029 | @type int |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2030 | @param pos position inside line |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2031 | @type int |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
2032 | @return value indicating an applied/deferred fix (-1, 0, 1), |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2033 | a message code for the fix, a list of arguments for the |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2034 | message and an ID for a deferred fix |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2035 | @rtype tuple of (int, str, list or int, int) |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
2036 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2037 | self.__source[line - 1] = self.__source[line - 1].replace("<>", "!=") |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
2038 | # '<>' replaced by '!='. |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7609
diff
changeset
|
2039 | return (1, "FIXW603", [], 0) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2040 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2041 | |
2978
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
2042 | class Reindenter(object): |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2043 | """ |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2044 | Class to reindent badly-indented code to uniformly use four-space |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2045 | indentation. |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2046 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2047 | Released to the public domain, by Tim Peters, 03 October 2000. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2048 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2049 | def __init__(self, sourceLines): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2050 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2051 | Constructor |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2052 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2053 | @param sourceLines list of source lines including eol marker |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2054 | (list of string) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2055 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2056 | # Raw file lines. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2057 | self.raw = sourceLines |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2058 | self.after = [] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2059 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2060 | # File lines, rstripped & tab-expanded. Dummy at start is so |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2061 | # that we can use tokenize's 1-based line numbering easily. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2062 | # Note that a line is all-blank iff it's "\n". |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2063 | self.lines = [line.rstrip().expandtabs() + "\n" |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2064 | for line in self.raw] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2065 | self.lines.insert(0, None) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2066 | self.index = 1 # index into self.lines of next line |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2067 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2068 | # List of (lineno, indentlevel) pairs, one for each stmt and |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2069 | # comment line. indentlevel is -1 for comment lines, as a |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2070 | # signal that tokenize doesn't know what to do about them; |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2071 | # indeed, they're our headache! |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2072 | self.stats = [] |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
2073 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2074 | def run(self): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2075 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2076 | Public method to run the re-indenter. |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
2077 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
2078 | @return flag indicating that a change was done (boolean) |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
2079 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2080 | try: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2081 | stats = self.__genStats(tokenize.generate_tokens(self.getline)) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2082 | except (SyntaxError, tokenize.TokenError): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2083 | return False |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
2084 | |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2085 | # Remove trailing empty lines. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2086 | lines = self.lines |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2087 | while lines and lines[-1] == "\n": |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2088 | lines.pop() |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2089 | # Sentinel. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2090 | stats.append((len(lines), 0)) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2091 | # Map count of leading spaces to # we want. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2092 | have2want = {} |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2093 | # Program after transformation. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2094 | after = self.after = [] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2095 | # Copy over initial empty lines -- there's nothing to do until |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2096 | # we see a line with *something* on it. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2097 | i = stats[0][0] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2098 | after.extend(lines[1:i]) |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2875
diff
changeset
|
2099 | for i in range(len(stats) - 1): |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2100 | thisstmt, thislevel = stats[i] |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2875
diff
changeset
|
2101 | nextstmt = stats[i + 1][0] |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2102 | have = self.__getlspace(lines[thisstmt]) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2103 | want = thislevel * 4 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2104 | if want < 0: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2105 | # A comment line. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2106 | if have: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2107 | # An indented comment line. If we saw the same |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2108 | # indentation before, reuse what it most recently |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2109 | # mapped to. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2110 | want = have2want.get(have, -1) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2111 | if want < 0: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2112 | # Then it probably belongs to the next real stmt. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2113 | for j in range(i + 1, len(stats) - 1): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2114 | jline, jlevel = stats[j] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2115 | if jlevel >= 0: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2116 | if have == self.__getlspace(lines[jline]): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2117 | want = jlevel * 4 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2118 | break |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3549
diff
changeset
|
2119 | if want < 0: # Maybe it's a hanging comment like this one, |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2120 | # in which case we should shift it like its base |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2121 | # line got shifted. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2122 | for j in range(i - 1, -1, -1): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2123 | jline, jlevel = stats[j] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2124 | if jlevel >= 0: |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2125 | want = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2126 | have + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2127 | self.__getlspace(after[jline - 1]) - |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2128 | self.__getlspace(lines[jline]) |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2129 | ) |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2130 | break |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2131 | if want < 0: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2132 | # Still no luck -- leave it alone. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2133 | want = have |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2134 | else: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2135 | want = 0 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2136 | have2want[have] = want |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2137 | diff = want - have |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2138 | if diff == 0 or have == 0: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2139 | after.extend(lines[thisstmt:nextstmt]) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2140 | else: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2141 | for line in lines[thisstmt:nextstmt]: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2142 | if diff > 0: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2143 | if line == "\n": |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2144 | after.append(line) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2145 | else: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2146 | after.append(" " * diff + line) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2147 | else: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2148 | remove = min(self.__getlspace(line), -diff) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2149 | after.append(line[remove:]) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2150 | return self.raw != self.after |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2151 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2152 | def fixedLine(self, line): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2153 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2154 | Public method to get a fixed line. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2155 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2156 | @param line number of the line to retrieve (integer) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2157 | @return fixed line (string) |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
2158 | """ |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2159 | if line < len(self.after): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2160 | return self.after[line] |
6891
93f82da09f22
Fixed some code style issues detected by the new 'return' checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
2161 | |
93f82da09f22
Fixed some code style issues detected by the new 'return' checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
2162 | return "" |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2163 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2164 | def getline(self): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2165 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2166 | Public method to get a line of text for tokenize. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2167 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2168 | @return line of text (string) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2169 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2170 | if self.index >= len(self.lines): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2171 | line = "" |
852
257a6f80b96c
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
851
diff
changeset
|
2172 | else: |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2173 | line = self.lines[self.index] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2174 | self.index += 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2175 | return line |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2176 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2177 | def __genStats(self, tokens): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2178 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2179 | Private method to generate the re-indent statistics. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2180 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2181 | @param tokens tokens generator (tokenize._tokenize) |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2937
diff
changeset
|
2182 | @return reference to the generated statistics |
2868
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2183 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2184 | find_stmt = True # next token begins a fresh stmt? |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2185 | level = 0 # current indent level |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2186 | stats = [] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2187 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2188 | for t in tokens: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2189 | token_type = t[0] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2190 | sline = t[2][0] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2191 | line = t[4] |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2192 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2193 | if token_type == tokenize.NEWLINE: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2194 | # A program statement, or ENDMARKER, will eventually follow, |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2195 | # after some (possibly empty) run of tokens of the form |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2196 | # (NL | COMMENT)* (INDENT | DEDENT+)? |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2197 | self.find_stmt = True |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2198 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2199 | elif token_type == tokenize.INDENT: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2200 | find_stmt = True |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2201 | level += 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2202 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2203 | elif token_type == tokenize.DEDENT: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2204 | find_stmt = True |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2205 | level -= 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2206 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2207 | elif token_type == tokenize.COMMENT: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2208 | if find_stmt: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2209 | stats.append((sline, -1)) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2210 | # but we're still looking for a new stmt, so leave |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2211 | # find_stmt alone |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2212 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2213 | elif token_type == tokenize.NL: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2214 | pass |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2215 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2216 | elif find_stmt: |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2217 | # This is the first "real token" following a NEWLINE, so it |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2218 | # must be the first token of the next program statement, or an |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2219 | # ENDMARKER. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2220 | find_stmt = False |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2221 | if line: # not endmarker |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2222 | stats.append((sline, level)) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2223 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2224 | return stats |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2225 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2226 | def __getlspace(self, line): |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2227 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2228 | Private method to count number of leading blanks. |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2229 | |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2230 | @param line line to check (string) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2231 | @return number of leading blanks (integer) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2232 | """ |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2233 | i = 0 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2234 | n = len(line) |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2235 | while i < n and line[i] == " ": |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2236 | i += 1 |
8d30ec21e9c7
Extended the PEP8 fixer and adjusted it to the updated PEP8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
2237 | return i |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2238 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2239 | |
2978
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
2240 | class IndentationWrapper(object): |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2241 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2242 | Class used by fixers dealing with indentation. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2243 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2244 | Each instance operates on a single logical line. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2245 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2246 | SKIP_TOKENS = frozenset([ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2247 | tokenize.COMMENT, tokenize.NL, tokenize.INDENT, |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2248 | tokenize.DEDENT, tokenize.NEWLINE, tokenize.ENDMARKER |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2249 | ]) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2250 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2251 | def __init__(self, physical_lines): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2252 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2253 | Constructor |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2254 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2255 | @param physical_lines list of physical lines to operate on |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2256 | (list of strings) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2257 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2258 | self.lines = physical_lines |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2259 | self.tokens = [] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2260 | self.rel_indent = None |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
2261 | sio = StringIO(''.join(physical_lines)) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2262 | for t in tokenize.generate_tokens(sio.readline): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2263 | if not len(self.tokens) and t[0] in self.SKIP_TOKENS: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2264 | continue |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2265 | if t[0] != tokenize.ENDMARKER: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2266 | self.tokens.append(t) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2267 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2268 | self.logical_line = self.__buildTokensLogical(self.tokens) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2269 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2270 | def __buildTokensLogical(self, tokens): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2271 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2272 | Private method to build a logical line from a list of tokens. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2273 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2274 | @param tokens list of tokens as generated by tokenize.generate_tokens |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2275 | @return logical line (string) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2276 | """ |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
2277 | # from pycodestyle.py with minor modifications |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2278 | logical = [] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2279 | previous = None |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2280 | for t in tokens: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2281 | token_type, text = t[0:2] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2282 | if token_type in self.SKIP_TOKENS: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2283 | continue |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2284 | if previous: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2285 | end_line, end = previous[3] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2286 | start_line, start = t[2] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2287 | if end_line != start_line: # different row |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2288 | prev_text = self.lines[end_line - 1][end - 1] |
4830
f609a22f43bd
Fixed a few code style issues detected by the updated pep8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
2289 | if prev_text == ',' or (prev_text not in '{[(' and |
f609a22f43bd
Fixed a few code style issues detected by the updated pep8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
2290 | text not in '}])'): |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2291 | logical.append(' ') |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2292 | elif end != start: # different column |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2293 | fill = self.lines[end_line - 1][end:start] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2294 | logical.append(fill) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2295 | logical.append(text) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2296 | previous = t |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2297 | logical_line = ''.join(logical) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2298 | return logical_line |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2299 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2300 | def pep8Expected(self): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2301 | """ |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
2302 | Public method to replicate logic in pycodestyle.py, to know what level |
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
2303 | to indent things to. |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2304 | |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2305 | @return list of lists, where each list represents valid indent levels |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2306 | for the line in question, relative from the initial indent. However, |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2307 | the first entry is the indent level which was expected. |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2308 | """ |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2309 | # What follows is an adjusted version of |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
2310 | # pycodestyle.py:continuation_line_indentation. All of the comments |
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
2311 | # have been stripped and the 'yield' statements replaced with 'pass'. |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2312 | if not self.tokens: |
6891
93f82da09f22
Fixed some code style issues detected by the new 'return' checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
2313 | return [] |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2314 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2315 | first_row = self.tokens[0][2][0] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2316 | nrows = 1 + self.tokens[-1][2][0] - first_row |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2317 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2318 | # here are the return values |
7249
0bf517e60f54
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
2319 | valid_indents = [[]] * nrows |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2320 | indent_level = self.tokens[0][2][1] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2321 | valid_indents[0].append(indent_level) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2322 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2323 | if nrows == 1: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2324 | # bug, really. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2325 | return valid_indents |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2326 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2327 | indent_next = self.logical_line.endswith(':') |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2328 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2329 | row = depth = 0 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2330 | parens = [0] * nrows |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2331 | self.rel_indent = rel_indent = [0] * nrows |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2332 | indent = [indent_level] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2333 | indent_chances = {} |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2334 | last_indent = (0, 0) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2335 | last_token_multiline = None |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2336 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2337 | for token_type, text, start, end, line in self.tokens: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2338 | newline = row < start[0] - first_row |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2339 | if newline: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2340 | row = start[0] - first_row |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2341 | newline = (not last_token_multiline and |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2342 | token_type not in (tokenize.NL, tokenize.NEWLINE)) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2343 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2344 | if newline: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2345 | # This is where the differences start. Instead of looking at |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2346 | # the line and determining whether the observed indent matches |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2347 | # our expectations, we decide which type of indentation is in |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2348 | # use at the given indent level, and return the offset. This |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2349 | # algorithm is susceptible to "carried errors", but should |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2350 | # through repeated runs eventually solve indentation for |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2351 | # multiline expressions. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2352 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2353 | if depth: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2354 | for open_row in range(row - 1, -1, -1): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2355 | if parens[open_row]: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2356 | break |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2357 | else: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2358 | open_row = 0 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2359 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2360 | # That's all we get to work with. This code attempts to |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2361 | # "reverse" the below logic, and place into the valid indents |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2362 | # list |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2363 | vi = [] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2364 | add_second_chances = False |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2365 | if token_type == tokenize.OP and text in ']})': |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2366 | # this line starts with a closing bracket, so it needs to |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2367 | # be closed at the same indent as the opening one. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2368 | if indent[depth]: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2369 | # hanging indent |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2370 | vi.append(indent[depth]) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2371 | else: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2372 | # visual indent |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2373 | vi.append(indent_level + rel_indent[open_row]) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2374 | elif depth and indent[depth]: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2375 | # visual indent was previously confirmed. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2376 | vi.append(indent[depth]) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2377 | add_second_chances = True |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2378 | elif depth and True in indent_chances.values(): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2379 | # visual indent happened before, so stick to |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2380 | # visual indent this time. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2381 | if depth > 1 and indent[depth - 1]: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2382 | vi.append(indent[depth - 1]) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2383 | else: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2384 | # stupid fallback |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2385 | vi.append(indent_level + 4) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2386 | add_second_chances = True |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2387 | elif not depth: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2388 | vi.append(indent_level + 4) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2389 | else: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2390 | # must be in hanging indent |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2391 | hang = rel_indent[open_row] + 4 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2392 | vi.append(indent_level + hang) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2393 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2394 | # about the best we can do without look-ahead |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2395 | if (indent_next and vi[0] == indent_level + 4 and |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2396 | nrows == row + 1): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2397 | vi[0] += 4 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2398 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2399 | if add_second_chances: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2400 | # visual indenters like to line things up. |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2401 | min_indent = vi[0] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2402 | for col, what in indent_chances.items(): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2403 | if col > min_indent and ( |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2404 | what is True or |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2405 | (what == str and token_type == tokenize.STRING) or |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2406 | (what == text and token_type == tokenize.OP) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2407 | ): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2408 | vi.append(col) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2409 | vi = sorted(vi) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2410 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2411 | valid_indents[row] = vi |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2412 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2413 | # Returning to original continuation_line_indentation() from |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
2414 | # pycodestyle. |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2415 | visual_indent = indent_chances.get(start[1]) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2416 | last_indent = start |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2417 | rel_indent[row] = ( |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
2418 | pycodestyle.expand_indent(line) - indent_level |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2419 | ) |
2875
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2420 | hang = rel_indent[row] - rel_indent[open_row] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2421 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2422 | if token_type == tokenize.OP and text in ']})': |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2423 | pass |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2424 | elif visual_indent is True: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2425 | if not indent[depth]: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2426 | indent[depth] = start[1] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2427 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2428 | # line altered: comments shouldn't define a visual indent |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2429 | if parens[row] and not indent[depth] and token_type not in ( |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2430 | tokenize.NL, tokenize.COMMENT |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2431 | ): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2432 | indent[depth] = start[1] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2433 | indent_chances[start[1]] = True |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2434 | elif token_type == tokenize.STRING or text in ( |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2435 | 'u', 'ur', 'b', 'br' |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2436 | ): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2437 | indent_chances[start[1]] = str |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2438 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2439 | if token_type == tokenize.OP: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2440 | if text in '([{': |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2441 | depth += 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2442 | indent.append(0) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2443 | parens[row] += 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2444 | elif text in ')]}' and depth > 0: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2445 | prev_indent = indent.pop() or last_indent[1] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2446 | for d in range(depth): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2447 | if indent[d] > prev_indent: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2448 | indent[d] = 0 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2449 | for ind in list(indent_chances): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2450 | if ind >= prev_indent: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2451 | del indent_chances[ind] |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2452 | depth -= 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2453 | if depth and indent[depth]: # modified |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2454 | indent_chances[indent[depth]] = True |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2455 | for idx in range(row, -1, -1): |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2456 | if parens[idx]: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2457 | parens[idx] -= 1 |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2458 | break |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2459 | if start[1] not in indent_chances: |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2460 | indent_chances[start[1]] = text |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2461 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2462 | last_token_multiline = (start[0] != end[0]) |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2463 | |
1267f0663801
Continued implementing PEP-8 fixer methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2868
diff
changeset
|
2464 | return valid_indents |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2465 | |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2466 | |
2978
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
2467 | class LineShortener(object): |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2468 | """ |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2469 | Class used to shorten lines to a given maximum of characters. |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2470 | """ |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2471 | def __init__(self, curLine, prevLine, nextLine, maxLength=79, eol="\n", |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2472 | indentWord=" ", isDocString=False): |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2473 | """ |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2474 | Constructor |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2475 | |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2476 | @param curLine text to work on (string) |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2477 | @param prevLine line before the text to work on (string) |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2478 | @param nextLine line after the text to work on (string) |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
2479 | @param maxLength maximum allowed line length (integer) |
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
2480 | @param eol eond-of-line marker (string) |
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
2481 | @param indentWord string used for indentation (string) |
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
2482 | @param isDocString flag indicating that the line belongs to |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2483 | a documentation string (boolean) |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2484 | """ |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2485 | self.__text = curLine |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2486 | self.__prevText = prevLine |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2487 | self.__nextText = nextLine |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2488 | self.__maxLength = maxLength |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2489 | self.__eol = eol |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2490 | self.__indentWord = indentWord |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2491 | self.__isDocString = isDocString |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2492 | |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2493 | def shorten(self): |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2494 | """ |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2495 | Public method to shorten the line wrapped by the class instance. |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2496 | |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2497 | @return tuple of a flag indicating successful shortening, the |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2498 | shortened line and the changed next line (boolean, string, string) |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2499 | """ |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2500 | # 1. check for comment |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2501 | if self.__text.lstrip().startswith('#'): |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2502 | lastComment = True |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2503 | if self.__nextText.lstrip().startswith('#'): |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2504 | lastComment = False |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2505 | |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2506 | # Wrap commented lines. |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2507 | newText = self.__shortenComment(lastComment) |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2508 | if newText == self.__text: |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2509 | return False, "", "" |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2510 | else: |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2511 | return True, newText, "" |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2512 | elif '#' in self.__text: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2513 | pos = self.__text.rfind("#") |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2514 | newText = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2515 | self.__text[:pos].rstrip() + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2516 | self.__eol + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2517 | self.__getIndent(self.__text) + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2518 | self.__text[pos:] |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2519 | ) |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2520 | if newText == self.__text: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2521 | return False, "", "" |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2522 | else: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2523 | return True, newText, "" |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2524 | |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2525 | # Do multi line doc strings |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2526 | if self.__isDocString: |
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2527 | source = self.__text.rstrip() |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2528 | blank = source.rfind(" ") |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2529 | while blank > self.__maxLength and blank != -1: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2530 | blank = source.rfind(" ", 0, blank) |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2531 | if blank == -1: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2532 | # Cannot break |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2533 | return False, "", "" |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2534 | else: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2535 | first = self.__text[:blank] |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2536 | second = self.__text[blank:].lstrip() |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2537 | if self.__nextText.strip(): |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2538 | if self.__nextText.lstrip().startswith("@"): |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2539 | # eric doc comment |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2540 | # create a new line and indent it |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2541 | newText = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2542 | first + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2543 | self.__eol + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2544 | self.__getIndent(first) + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2545 | self.__indentWord + |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2546 | second |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2547 | ) |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2548 | newNext = "" |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2549 | else: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2550 | newText = first + self.__eol |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2551 | newNext = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2552 | self.__getIndent(self.__nextText) + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2553 | second.rstrip() + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2554 | " " + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2555 | self.__nextText.lstrip() |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2556 | ) |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2557 | else: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2558 | # empty line, add a new line |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2559 | newText = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2560 | first + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2561 | self.__eol + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2562 | self.__getIndent(first) + |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2563 | second |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2564 | ) |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2565 | newNext = "" |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2566 | return True, newText, newNext |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2567 | |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2568 | indent = self.__getIndent(self.__text) |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2569 | source = self.__text[len(indent):] |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
2570 | sio = StringIO(source) |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2571 | |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2572 | # Check for multi line string. |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2573 | try: |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2574 | tokens = list(tokenize.generate_tokens(sio.readline)) |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2575 | except (SyntaxError, tokenize.TokenError): |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2576 | if source.rstrip().endswith("\\"): |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2577 | # just join the continuation line and let the next run |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2578 | # handle it once it tokenizes ok |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2579 | newText = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2580 | indent + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2581 | source.rstrip()[:-1].rstrip() + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2582 | " " + |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2583 | self.__nextText.lstrip() |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2584 | ) |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2585 | if indent: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2586 | newNext = indent |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2587 | else: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2588 | newNext = " " |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2589 | return True, newText, newNext |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2590 | else: |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2591 | multilineCandidate = self.__breakMultiline() |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2592 | if multilineCandidate: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2593 | return True, multilineCandidate[0], multilineCandidate[1] |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2594 | else: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2595 | return False, "", "" |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2596 | |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2597 | # Handle statements by putting the right hand side on a line by itself. |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2598 | # This should let the next pass shorten it. |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2599 | if source.startswith('return '): |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2600 | newText = ( |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2601 | indent + |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2602 | 'return (' + |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2603 | self.__eol + |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2604 | indent + self.__indentWord + re.sub('^return ', '', source) + |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2605 | indent + ')' + self.__eol |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2606 | ) |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2607 | return True, newText, "" |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2608 | |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2609 | candidates = self.__shortenLine(tokens, source, indent) |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2610 | if candidates: |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2611 | candidates = list(sorted( |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2612 | set(candidates).union([self.__text]), |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2613 | key=lambda x: self.__lineShorteningRank(x))) |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
2614 | if candidates[0] == self.__text: |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
2615 | return False, "", "" |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2616 | return True, candidates[0], "" |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2617 | |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2618 | source = self.__text |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2619 | rs = source.rstrip() |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2620 | if rs.endswith(("'", '"')) and " " in source: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2621 | if rs.endswith(('"""', "'''")): |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2622 | quote = rs[-3:] |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2623 | else: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2624 | quote = rs[-1] |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2625 | blank = source.rfind(" ") |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2626 | maxLen = self.__maxLength - 2 - len(quote) |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2627 | while blank > maxLen and blank != -1: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2628 | blank = source.rfind(" ", 0, blank) |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2629 | if blank != -1: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2630 | if source[blank + 1:].startswith(quote): |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2631 | first = source[:maxLen] |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2632 | second = source[maxLen:] |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2633 | else: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2634 | first = source[:blank] |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2635 | second = source[blank + 1:] |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
2636 | return ( |
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
2637 | True, |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2638 | first + quote + " \\" + self.__eol + |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2639 | indent + self.__indentWord + quote + second, |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2640 | "") |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2641 | else: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2642 | # Cannot break |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2643 | return False, "", "" |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2644 | |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2645 | return False, "", "" |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2646 | |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2647 | def __shortenComment(self, isLast): |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2648 | """ |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2649 | Private method to shorten a comment line. |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2650 | |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2651 | @param isLast flag indicating, that the line is the last comment line |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2652 | (boolean) |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2653 | @return shortened comment line (string) |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2654 | """ |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2655 | if len(self.__text) <= self.__maxLength: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2656 | return self.__text |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2657 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2658 | newText = self.__text.rstrip() |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2659 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2660 | # PEP 8 recommends 72 characters for comment text. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2661 | indentation = self.__getIndent(newText) + '# ' |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2662 | maxLength = min(self.__maxLength, |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2663 | len(indentation) + 72) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2664 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2665 | MIN_CHARACTER_REPEAT = 5 |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2666 | if ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2667 | len(newText) - len(newText.rstrip(newText[-1])) >= |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2668 | MIN_CHARACTER_REPEAT and |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2669 | not newText[-1].isalnum() |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2670 | ): |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2671 | # Trim comments that end with things like --------- |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2672 | return newText[:maxLength] + self.__eol |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2673 | elif isLast and re.match(r"\s*#+\s*\w+", newText): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2674 | import textwrap |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2675 | splitLines = textwrap.wrap(newText.lstrip(" \t#"), |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2676 | initial_indent=indentation, |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2677 | subsequent_indent=indentation, |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2678 | width=maxLength, |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2679 | break_long_words=False, |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2680 | break_on_hyphens=False) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2681 | return self.__eol.join(splitLines) + self.__eol |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2682 | else: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2683 | return newText + self.__eol |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2684 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2685 | def __breakMultiline(self): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2686 | """ |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2687 | Private method to break multi line strings. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2688 | |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2689 | @return tuple of the shortened line and the changed next line |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2690 | (string, string) |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2691 | """ |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2692 | indentation = self.__getIndent(self.__text) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2693 | |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2694 | # Handle special case. |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2695 | for symbol in '([{': |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2696 | # Only valid if symbol is not on a line by itself. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2697 | if ( |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2698 | symbol in self.__text and |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2699 | self.__text.strip() != symbol and |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2700 | self.__text.rstrip().endswith((',', '%')) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2701 | ): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2702 | index = 1 + self.__text.find(symbol) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2703 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2704 | if index <= len(self.__indentWord) + len(indentation): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2705 | continue |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2706 | |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2707 | if self.__isProbablyInsideStringOrComment( |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2708 | self.__text, index - 1): |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2709 | continue |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2710 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2711 | return (self.__text[:index].rstrip() + self.__eol + |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2712 | indentation + self.__indentWord + |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2713 | self.__text[index:].lstrip(), "") |
2882
9b97bc92fdda
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2880
diff
changeset
|
2714 | |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2715 | newText = self.__text |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2716 | newNext = self.__nextText |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2717 | blank = newText.rfind(" ") |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2718 | while blank > self.__maxLength and blank != -1: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2719 | blank = newText.rfind(" ", 0, blank) |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2720 | if blank != -1: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2721 | first = self.__text[:blank] |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2722 | second = self.__text[blank:].strip() |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2723 | if newNext.strip(): |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2724 | newText = first + self.__eol |
2981
0c5205aa7a5a
Fixed some issues in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2978
diff
changeset
|
2725 | if second.endswith(")"): |
0c5205aa7a5a
Fixed some issues in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2978
diff
changeset
|
2726 | # don't merge with next line |
0c5205aa7a5a
Fixed some issues in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2978
diff
changeset
|
2727 | newText += self.__getIndent(newText) + second + self.__eol |
0c5205aa7a5a
Fixed some issues in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2978
diff
changeset
|
2728 | newNext = "" |
0c5205aa7a5a
Fixed some issues in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2978
diff
changeset
|
2729 | else: |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2730 | newNext = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2731 | self.__getIndent(newNext) + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2732 | second + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2733 | " " + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2734 | newNext.lstrip() |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2735 | ) |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2736 | else: |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2737 | # empty line, add a new line |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2738 | newText = first + self.__eol |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2739 | newNext = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2740 | self.__getIndent(newNext) + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2741 | second + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2742 | self.__eol + |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2743 | newNext.lstrip() |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2744 | ) |
2981
0c5205aa7a5a
Fixed some issues in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2978
diff
changeset
|
2745 | return newText, newNext |
0c5205aa7a5a
Fixed some issues in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2978
diff
changeset
|
2746 | else: |
0c5205aa7a5a
Fixed some issues in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2978
diff
changeset
|
2747 | return None |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2748 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2749 | def __isProbablyInsideStringOrComment(self, line, index): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2750 | """ |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2751 | Private method to check, if the given string might be inside a string |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2752 | or comment. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2753 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2754 | @param line line to check (string) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2755 | @param index position inside line to check (integer) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2756 | @return flag indicating the possibility of being inside a string |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2757 | or comment |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2758 | """ |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2759 | # Check against being in a string. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2760 | for quote in ['"', "'"]: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2761 | pos = line.find(quote) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2762 | if pos != -1 and pos <= index: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2763 | return True |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2764 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2765 | # Check against being in a comment. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2766 | pos = line.find('#') |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2767 | if pos != -1 and pos <= index: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2768 | return True |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2769 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2770 | return False |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2771 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2772 | def __shortenLine(self, tokens, source, indent): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2773 | """ |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2774 | Private method to shorten a line of code at an operator. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2775 | |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2776 | @param tokens tokens of the line as generated by tokenize |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2777 | (list of token) |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2778 | @param source code string to work at (string) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2779 | @param indent indentation string of the code line (string) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2780 | @return list of candidates (list of string) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2781 | """ |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2782 | candidates = [] |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2783 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2784 | for tkn in tokens: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2785 | tokenType = tkn[0] |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2786 | tokenString = tkn[1] |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2787 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2788 | if ( |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2789 | tokenType == tokenize.COMMENT and |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2790 | not self.__prevText.rstrip().endswith('\\') |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2791 | ): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2792 | # Move inline comments to previous line. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2793 | offset = tkn[2][1] |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2794 | first = source[:offset] |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2795 | second = source[offset:] |
2892
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
2796 | candidates.append( |
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
2797 | indent + second.strip() + self.__eol + |
b601ede6dbbf
Fixed a few issues in the PEP-8 fixer and made it PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
2798 | indent + first.strip() + self.__eol) |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2799 | elif tokenType == tokenize.OP and tokenString != '=': |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2800 | # Don't break on '=' after keyword as this violates PEP 8. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2801 | offset = tkn[2][1] + 1 |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2802 | first = source[:offset] |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2803 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2804 | secondIndent = indent |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2805 | if first.rstrip().endswith('('): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2806 | secondIndent += self.__indentWord |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2807 | elif '(' in first: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2808 | secondIndent += ' ' * (1 + first.find('(')) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2809 | else: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2810 | secondIndent += self.__indentWord |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2811 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2812 | second = (secondIndent + source[offset:].lstrip()) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2813 | if not second.strip(): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2814 | continue |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2815 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2816 | # Do not begin a line with a comma |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2817 | if second.lstrip().startswith(','): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2818 | continue |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2819 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2820 | # Do end a line with a dot |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2821 | if first.rstrip().endswith('.'): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2822 | continue |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2823 | |
2981
0c5205aa7a5a
Fixed some issues in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2978
diff
changeset
|
2824 | if tokenString in '+-*/,': |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2825 | newText = first + ' \\' + self.__eol + second |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2826 | else: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2827 | newText = first + self.__eol + second |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2828 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2829 | # Only fix if syntax is okay. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2830 | if self.__checkSyntax(self.__normalizeMultiline(newText)): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2831 | candidates.append(indent + newText) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2832 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2833 | return candidates |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2834 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2835 | def __normalizeMultiline(self, text): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2836 | """ |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2837 | Private method to remove multiline-related code that will cause syntax |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2838 | error. |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2839 | |
2962
d6c9d1ca2da4
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
2840 | @param text code line to work on (string) |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2841 | @return normalized code line (string) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2842 | """ |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2843 | for quote in '\'"': |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2844 | dictPattern = r"^{q}[^{q}]*{q} *: *".format(q=quote) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2845 | if re.match(dictPattern, text): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2846 | if not text.strip().endswith('}'): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2847 | text += '}' |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2848 | return '{' + text |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2849 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2850 | if text.startswith('def ') and text.rstrip().endswith(':'): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2851 | # Do not allow ':' to be alone. That is invalid. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2852 | splitText = [item.strip() for item in text.split(self.__eol)] |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2853 | if ':' not in splitText and 'def' not in splitText: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2854 | return text[len('def'):].strip().rstrip(':') |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2855 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2856 | return text |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2857 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2858 | def __lineShorteningRank(self, candidate): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2859 | """ |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2860 | Private method to rank a candidate. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2861 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2862 | @param candidate candidate line to rank (string) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2863 | @return rank of the candidate (integer) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2864 | """ |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2865 | rank = 0 |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2866 | if candidate.strip(): |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
2867 | if candidate == self.__text: |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
2868 | # give the original a disadvantage |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
2869 | rank += 50 |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
2870 | |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2871 | lines = candidate.split(self.__eol) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2872 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2873 | offset = 0 |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2874 | if lines[0].rstrip()[-1] not in '([{': |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2875 | for symbol in '([{': |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2876 | offset = max(offset, 1 + lines[0].find(symbol)) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2877 | |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2878 | maxLength = max(offset + len(x.strip()) for x in lines) |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2879 | rank += maxLength |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2880 | rank += len(lines) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2881 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2882 | badStartingSymbol = { |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2883 | '(': ')', |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2884 | '[': ']', |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2885 | '{': '}'}.get(lines[0][-1], None) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2886 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2887 | if len(lines) > 1: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2888 | if (badStartingSymbol and |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2889 | lines[1].lstrip().startswith(badStartingSymbol)): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2890 | rank += 20 |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2891 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2892 | if re.match(r".*[+\-\*/] \($", lines[0]): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2893 | # "1 * (\n" is ugly as hell. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2894 | rank += 100 |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2895 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2896 | for currentLine in lines: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2897 | for badStart in ['.', '%', '+', '-', '/']: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2898 | if currentLine.startswith(badStart): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2899 | rank += 100 |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2900 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2901 | for ending in '([{': |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2902 | # Avoid lonely opening. They result in longer lines. |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2903 | if ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2904 | currentLine.endswith(ending) and |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2905 | len(currentLine.strip()) <= len(self.__indentWord) |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
2906 | ): |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2907 | rank += 100 |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2908 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2909 | if currentLine.endswith('%'): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2910 | rank -= 20 |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2911 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2912 | # Try to break list comprehensions at the "for". |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2913 | if currentLine.lstrip().startswith('for'): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2914 | rank -= 50 |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2915 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2916 | rank += 10 * self.__countUnbalancedBrackets(currentLine) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2917 | else: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2918 | rank = 100000 |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2919 | |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2920 | return max(0, rank) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2921 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2922 | def __countUnbalancedBrackets(self, line): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2923 | """ |
2883
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2924 | Private method to determine the number of unmatched open/close |
3c99a1db1506
Finished the PEP-8 line shortener.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2882
diff
changeset
|
2925 | brackets. |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2926 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2927 | @param line line to work at (string) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2928 | @return number of unmatched open/close brackets (integer) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2929 | """ |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2930 | count = 0 |
5616
adcffadf4962
Reworked some __IGNORE_WARNING__ comments to be more specific.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5588
diff
changeset
|
2931 | for opening, closing in ['()', '[]', '{}']: |
adcffadf4962
Reworked some __IGNORE_WARNING__ comments to be more specific.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5588
diff
changeset
|
2932 | # __IGNORE_WARNING_M613__ |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2933 | count += abs(line.count(opening) - line.count(closing)) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2934 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2935 | return count |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2936 | |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2937 | def __getIndent(self, line): |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2938 | """ |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2939 | Private method to get the indentation string. |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2940 | |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2941 | @param line line to determine the indentation string from (string) |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2942 | @return indentation string (string) |
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2943 | """ |
2978
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2976
diff
changeset
|
2944 | # copied from CodeStyleFixer |
2879
12e6e199d0cf
Started implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2878
diff
changeset
|
2945 | return line.replace(line.lstrip(), "") |
2880
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2946 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2947 | def __checkSyntax(self, code): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2948 | """ |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2949 | Private method to check the syntax of the given code fragment. |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2950 | |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2951 | @param code code fragment to check (string) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2952 | @return flag indicating syntax is ok (boolean) |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2953 | """ |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2954 | code = code.replace("\r\n", "\n").replace("\r", "\n") |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2955 | try: |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2956 | return compile(code, '<string>', 'exec') |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2957 | except (SyntaxError, TypeError, UnicodeDecodeError): |
a45c59bddc79
Continued implementing the PEP-8 line shortener class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2879
diff
changeset
|
2958 | return False |