Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py

changeset 5588
6ba512d9f46a
parent 5585
dab20c39f08c
child 5589
ad8f37c6a306
equal deleted inserted replaced
5587:ea526b78ee6c 5588:6ba512d9f46a
310 310
311 def __checkFuture(self): 311 def __checkFuture(self):
312 """ 312 """
313 Private method to check the __future__ imports. 313 Private method to check the __future__ imports.
314 """ 314 """
315 expectedImports = set( 315 expectedImports = {
316 [i.strip() 316 i.strip()
317 for i in self.__args.get("FutureChecker", "").split(",") 317 for i in self.__args.get("FutureChecker", "").split(",")
318 if bool(i.strip())]) 318 if bool(i.strip())}
319 if len(expectedImports) == 0: 319 if len(expectedImports) == 0:
320 # nothing to check for; disabling the check 320 # nothing to check for; disabling the check
321 return 321 return
322 322
323 imports = set() 323 imports = set()
325 hasCode = False 325 hasCode = False
326 326
327 for node in ast.walk(self.__tree): 327 for node in ast.walk(self.__tree):
328 if (isinstance(node, ast.ImportFrom) and 328 if (isinstance(node, ast.ImportFrom) and
329 node.module == '__future__'): 329 node.module == '__future__'):
330 imports |= set(name.name for name in node.names) 330 imports |= {name.name for name in node.names}
331 elif isinstance(node, ast.Expr): 331 elif isinstance(node, ast.Expr):
332 if not isinstance(node.value, ast.Str): 332 if not isinstance(node.value, ast.Str):
333 hasCode = True 333 hasCode = True
334 break 334 break
335 elif not isinstance(node, (ast.Module, ast.Str)): 335 elif not isinstance(node, (ast.Module, ast.Str)):
414 if number >= 0: 414 if number >= 0:
415 numbers.add(number) 415 numbers.add(number)
416 else: 416 else:
417 names.add(fieldMatch.group(1)) 417 names.add(fieldMatch.group(1))
418 418
419 keywords = set(keyword.arg for keyword in call.keywords) 419 keywords = {keyword.arg for keyword in call.keywords}
420 numArgs = len(call.args) 420 numArgs = len(call.args)
421 if strArgs: 421 if strArgs:
422 numArgs -= 1 422 numArgs -= 1
423 if sys.version_info < (3, 5): 423 if sys.version_info < (3, 5):
424 hasKwArgs = bool(call.kwargs) 424 hasKwArgs = bool(call.kwargs)

eric ide

mercurial