Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py

changeset 4540
45627d092846
parent 4515
d7cebe39ffba
child 4555
861e1741985c
equal deleted inserted replaced
4538:cbff7269b187 4540:45627d092846
300 # nothing to check for; disabling the check 300 # nothing to check for; disabling the check
301 return 301 return
302 302
303 imports = set() 303 imports = set()
304 node = None 304 node = None
305 hasCode = False
305 306
306 for node in ast.walk(self.__tree): 307 for node in ast.walk(self.__tree):
307 if (isinstance(node, ast.ImportFrom) and 308 if (isinstance(node, ast.ImportFrom) and
308 node.module == '__future__'): 309 node.module == '__future__'):
309 imports |= set(name.name for name in node.names) 310 imports |= set(name.name for name in node.names)
310 elif isinstance(node, ast.Expr): 311 elif isinstance(node, ast.Expr):
311 if not isinstance(node.value, ast.Str): 312 if not isinstance(node.value, ast.Str):
313 hasCode = True
312 break 314 break
313 elif not isinstance(node, ast.Module): 315 elif not isinstance(node, (ast.Module, ast.Str)):
316 hasCode = True
314 break 317 break
315 318
316 if isinstance(node, ast.Module): 319 if isinstance(node, ast.Module) or not hasCode:
317 return 320 return
318 321
319 if not (imports >= expectedImports): 322 if not (imports >= expectedImports):
320 if imports: 323 if imports:
321 self.__error(node.lineno - 1, node.col_offset, "M701", 324 self.__error(node.lineno - 1, node.col_offset, "M701",

eric ide

mercurial