def rule_I201(self, node):
if isinstance(node, ast.Import):
module_names = [alias.name for alias in node.names]
elif isinstance(node, ast.ImportFrom):
node_module = node.module or ''
module_names = [node_module]
for alias in node.names:
module_names.append('{}.{}'.format(node_module, alias.name))
else:
return
# Sort from most to least specific paths.
module_names.sort(key=len, reverse=True)
warned = set()
for module_name in module_names:
if module_name in self.banned_modules:
message = self.message_I201.format(
name=module_name,
msg=self.banned_modules[module_name]
)
if any(mod.startswith(module_name) for mod in warned):
# Do not show an error for this line if we already showed
# a more specific error.
continue
else:
warned.add(module_name)
yield (
node.lineno,
node.col_offset,
message,
type(self)
)
flake8_tidy_imports.py 文件源码
python
阅读 26
收藏 0
点赞 0
评论 0
评论列表
文章目录