src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Async/AsyncVisitor.py

branch
eric7
changeset 11150
73d80859079c
parent 11090
f5f5f5803935
equal deleted inserted replaced
11149:fc45672fae42 11150:73d80859079c
145 if ( 145 if (
146 isinstance(inner, ast.Call) 146 isinstance(inner, ast.Call)
147 and isinstance(inner.func, ast.Name) 147 and isinstance(inner.func, ast.Name)
148 and inner.func.id == "open" 148 and inner.func.id == "open"
149 ): 149 ):
150 errorCode = "ASY101" 150 errorCode = "ASY-101"
151 151
152 elif ( 152 elif (
153 isinstance(inner, ast.withitem) 153 isinstance(inner, ast.withitem)
154 and isinstance(inner.context_expr, ast.Call) 154 and isinstance(inner.context_expr, ast.Call)
155 and isinstance(inner.context_expr.func, ast.Name) 155 and isinstance(inner.context_expr.func, ast.Name)
156 and inner.context_expr.func.id == "open" 156 and inner.context_expr.func.id == "open"
157 ): 157 ):
158 errorCode = "ASY103" 158 errorCode = "ASY-103"
159 inner = inner.context_expr 159 inner = inner.context_expr
160 160
161 elif isinstance(inner, ast.Call): 161 elif isinstance(inner, ast.Call):
162 funcName = unparse(inner.func) 162 funcName = unparse(inner.func)
163 163
165 "urllib3.request", 165 "urllib3.request",
166 "urllib.request.urlopen", 166 "urllib.request.urlopen",
167 "request.urlopen", 167 "request.urlopen",
168 "urlopen", 168 "urlopen",
169 ): 169 ):
170 errorCode = "ASY100" 170 errorCode = "ASY-100"
171 elif funcName == "time.sleep": 171 elif funcName == "time.sleep":
172 errorCode = "ASY101" 172 errorCode = "ASY-101"
173 else: 173 else:
174 match = re.fullmatch( 174 match = re.fullmatch(
175 r"(?P<package>{0}|os\.path|os|subprocess|urllib3)\." 175 r"(?P<package>{0}|os\.path|os|subprocess|urllib3)\."
176 r"(?P<method>.*)".format("|".join(self.HttpPackages)), 176 r"(?P<method>.*)".format("|".join(self.HttpPackages)),
177 funcName, 177 funcName,
179 if match: 179 if match:
180 if ( 180 if (
181 match.group("package") in self.HttpPackages 181 match.group("package") in self.HttpPackages
182 and match.group("method") in self.HttpMethods 182 and match.group("method") in self.HttpMethods
183 ): 183 ):
184 errorCode = "ASY100" 184 errorCode = "ASY-100"
185 185
186 elif ( 186 elif (
187 match.group("package") == "subprocess" 187 match.group("package") == "subprocess"
188 and match.group("method") in self.SubprocessMethods 188 and match.group("method") in self.SubprocessMethods
189 ) or ( 189 ) or (
190 match.group("package") == "os" 190 match.group("package") == "os"
191 and match.group("method") in self.OsWaitMethods 191 and match.group("method") in self.OsWaitMethods
192 ): 192 ):
193 errorCode = "ASY101" 193 errorCode = "ASY-101"
194 194
195 elif ( 195 elif (
196 match.group("package") == "os" 196 match.group("package") == "os"
197 and match.group("method") in self.OsProcessMethods 197 and match.group("method") in self.OsProcessMethods
198 ): 198 ):
199 errorCode = "ASY102" 199 errorCode = "ASY-102"
200 200
201 elif ( 201 elif (
202 match.group("package") == "os.path" 202 match.group("package") == "os.path"
203 and match.group("method") in self.OsPathFuncs 203 and match.group("method") in self.OsPathFuncs
204 ): 204 ):
205 errorCode = "ASY104" 205 errorCode = "ASY-104"
206 206
207 elif ( 207 elif (
208 match.group("package") == "httpx" 208 match.group("package") == "httpx"
209 and match.group("method") == "Client" 209 and match.group("method") == "Client"
210 ) or ( 210 ) or (
211 match.group("package") == "urllib3" 211 match.group("package") == "urllib3"
212 and match.group("method") in self.Urllib3DangerousClasses 212 and match.group("method") in self.Urllib3DangerousClasses
213 ): 213 ):
214 errorCode = "ASY105" 214 errorCode = "ASY-105"
215 215
216 if errorCode: 216 if errorCode:
217 self.violations.append((inner, errorCode)) 217 self.violations.append((inner, errorCode))
218 218
219 self.generic_visit(node) 219 self.generic_visit(node)

eric ide

mercurial