Sat, 26 Apr 2025 12:34:32 +0200
MicroPython
- Added a configuration option to disable the support for the no longer produced Pimoroni Pico Wireless Pack.
8186 | 1 | # -*- coding: utf-8 -*- |
2 | ||
11090
f5f5f5803935
Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
3 | # Copyright (c) 2021 - 2025 Detlev Offenbach <detlev@die-offenbachs.de> |
8186 | 4 | # |
5 | ||
6 | """ | |
7 | Module implementing the checker for simplifying Python code. | |
8 | """ | |
9 | ||
10 | import ast | |
11150
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
11 | |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
12 | from CodeStyleTopicChecker import CodeStyleTopicChecker |
8186 | 13 | |
8189
17df5c8df8c1
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8186
diff
changeset
|
14 | from .SimplifyNodeVisitor import SimplifyNodeVisitor |
8186 | 15 | |
16 | ||
11150
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
17 | class SimplifyChecker(CodeStyleTopicChecker): |
8186 | 18 | """ |
19 | Class implementing a checker for to help simplifying Python code. | |
20 | """ | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
21 | |
8186 | 22 | Codes = [ |
8189
17df5c8df8c1
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8186
diff
changeset
|
23 | # Python-specifics |
11147
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
24 | "Y-101", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
25 | "Y-102", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
26 | "Y-103", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
27 | "Y-104", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
28 | "Y-105", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
29 | "Y-106", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
30 | "Y-107", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
31 | "Y-108", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
32 | "Y-109", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
33 | "Y-110", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
34 | "Y-111", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
35 | "Y-112", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
36 | "Y-113", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
37 | "Y-114", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
38 | "Y-115", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
39 | "Y-116", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
40 | "Y-117", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
41 | "Y-118", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
42 | "Y-119", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
43 | "Y-120", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
44 | "Y-121", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
45 | "Y-122", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
46 | "Y-123", |
8209
14470a65a52e
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8207
diff
changeset
|
47 | # Python-specifics not part of flake8-simplify |
11147
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
48 | "Y-181", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
49 | "Y-182", |
8189
17df5c8df8c1
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8186
diff
changeset
|
50 | # Comparations |
11147
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
51 | "Y-201", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
52 | "Y-202", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
53 | "Y-203", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
54 | "Y-204", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
55 | "Y-205", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
56 | "Y-206", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
57 | "Y-207", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
58 | "Y-208", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
59 | "Y-211", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
60 | "Y-212", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
61 | "Y-213", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
62 | "Y-221", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
63 | "Y-222", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
64 | "Y-223", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
65 | "Y-224", |
8195
db7f2badd374
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8194
diff
changeset
|
66 | # Opinionated |
11147
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
67 | "Y-301", |
8211
8322a6f219ff
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8210
diff
changeset
|
68 | # General Code Style |
11147
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
69 | "Y-401", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
70 | "Y-402", |
11141
2f5f73c51c7c
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
71 | # f-Strings |
11147
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
72 | "Y-411", |
9277
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
73 | # Additional Checks |
11147
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
74 | "Y-901", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
75 | "Y-904", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
76 | "Y-905", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
77 | "Y-906", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
78 | "Y-907", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
79 | "Y-909", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
80 | "Y-910", |
dee6e106b4d3
Modified the code style checker such, that the issue category and issue number are separated by a '-' to make up the issue code (e.g E-901).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11145
diff
changeset
|
81 | "Y-911", |
8186 | 82 | ] |
11150
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
83 | Category = "Y" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
84 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
85 | def __init__(self, source, filename, tree, selected, ignored, expected, repeat): |
8186 | 86 | """ |
87 | Constructor | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
88 | |
8186 | 89 | @param source source code to be checked |
90 | @type list of str | |
91 | @param filename name of the source file | |
92 | @type str | |
8198
1c765dc90c21
Code Style Checker: changed code such, that the AST tree is built only once and passed to each checker module.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8195
diff
changeset
|
93 | @param tree AST tree of the source code |
1c765dc90c21
Code Style Checker: changed code such, that the AST tree is built only once and passed to each checker module.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8195
diff
changeset
|
94 | @type ast.Module |
8186 | 95 | @param selected list of selected codes |
96 | @type list of str | |
97 | @param ignored list of codes to be ignored | |
98 | @type list of str | |
99 | @param expected list of expected codes | |
100 | @type list of str | |
101 | @param repeat flag indicating to report each occurrence of a code | |
102 | @type bool | |
103 | """ | |
11150
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
104 | super().__init__( |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
105 | SimplifyChecker.Category, |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
106 | source, |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
107 | filename, |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
108 | tree, |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
109 | selected, |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
110 | ignored, |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
111 | expected, |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
112 | repeat, |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
113 | [], |
11142
2f0fb22c1d63
Fixed a few issues in the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11141
diff
changeset
|
114 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
115 | |
11150
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
116 | checkersWithCodes = [ |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
117 | ( |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
118 | self.__checkCodeSimplifications, |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
119 | ( |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
120 | "Y-101", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
121 | "Y-102", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
122 | "Y-103", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
123 | "Y-104", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
124 | "Y-105", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
125 | "Y-106", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
126 | "Y-107", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
127 | "Y-108", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
128 | "Y-109", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
129 | "Y-110", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
130 | "Y-111", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
131 | "Y-112", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
132 | "Y-113", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
133 | "Y-114", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
134 | "Y-115", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
135 | "Y-116", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
136 | "Y-117", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
137 | "Y-118", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
138 | "Y-119", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
139 | "Y-120", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
140 | "Y-121", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
141 | "Y-122", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
142 | "Y-123", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
143 | "Y-181", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
144 | "Y-182", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
145 | "Y-201", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
146 | "Y-202", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
147 | "Y-203", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
148 | "Y-204", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
149 | "Y-205", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
150 | "Y-206", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
151 | "Y-207", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
152 | "Y-208", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
153 | "Y-211", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
154 | "Y-212", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
155 | "Y-213", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
156 | "Y-221", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
157 | "Y-222", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
158 | "Y-223", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
159 | "Y-224", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
160 | "Y-301", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
161 | "Y-401", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
162 | "Y-402", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
163 | "Y-411", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
164 | "Y-901", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
165 | "Y-904", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
166 | "Y-905", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
167 | "Y-906", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
168 | "Y-907", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
169 | "Y-909", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
170 | "Y-910", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
171 | "Y-911", |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
172 | ), |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
173 | ), |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
174 | ] |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
175 | self._initializeCheckers(checkersWithCodes) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
176 | |
11150
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
177 | def __checkCodeSimplifications(self): |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
178 | """ |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
179 | Private method to check for code simplifications. |
8186 | 180 | """ |
11150
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
181 | # Add parent information |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
182 | self.__addMeta(self.tree) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
183 | |
11150
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
184 | visitor = SimplifyNodeVisitor(self.addErrorFromNode) |
73d80859079c
Code Style Checkers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11147
diff
changeset
|
185 | visitor.visit(self.tree) |
9278
36448ca469c2
Simplified some code iaw. recommendations of the extended style checker and reformatted the code with black.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9277
diff
changeset
|
186 | |
9277
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
187 | def __addMeta(self, root, level=0): |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
188 | """ |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
189 | Private method to amend the nodes of the given AST tree with backward and |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
190 | forward references. |
9278
36448ca469c2
Simplified some code iaw. recommendations of the extended style checker and reformatted the code with black.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9277
diff
changeset
|
191 | |
9277
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
192 | @param root reference to the root node of the tree |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
193 | @type ast.AST |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
194 | @param level nesting level (defaults to 0) |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
195 | @type int (optional) |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
196 | """ |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
197 | previousSibling = None |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
198 | for node in ast.iter_child_nodes(root): |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
199 | if level == 0: |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
200 | node.parent = root |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
201 | node.previous_sibling = previousSibling |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
202 | node.next_sibling = None |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
203 | if previousSibling: |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
204 | node.previous_sibling.next_sibling = node |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
205 | previousSibling = node |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
206 | for child in ast.iter_child_nodes(node): |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
207 | child.parent = node |
471c5a263d53
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
208 | self.__addMeta(node, level=level + 1) |