summaryrefslogtreecommitdiff
path: root/pylint
diff options
context:
space:
mode:
authorClaudiu Popa <pcmanticore@gmail.com>2016-03-25 11:43:41 +0000
committerClaudiu Popa <pcmanticore@gmail.com>2016-03-25 11:45:37 +0000
commitb268f7324ce7044ab14e62a9edfa1c9835ec48d5 (patch)
tree91437fa01f3018ab094db3e7c89a7daa5c778d4a /pylint
parent932ad153f30d319fa52ebff221b80281ae26782b (diff)
downloadpylint-git-b268f7324ce7044ab14e62a9edfa1c9835ec48d5.tar.gz
'reimported' is emitted when the same name is imported from different module.
Close #162.
Diffstat (limited to 'pylint')
-rw-r--r--pylint/checkers/imports.py6
-rw-r--r--pylint/test/functional/reimported.py8
-rw-r--r--pylint/test/functional/reimported.txt3
3 files changed, 12 insertions, 5 deletions
diff --git a/pylint/checkers/imports.py b/pylint/checkers/imports.py
index 547eb3c3c..c514b70f9 100644
--- a/pylint/checkers/imports.py
+++ b/pylint/checkers/imports.py
@@ -81,9 +81,9 @@ def _get_first_import(node, context, name, base, level):
found = True
break
elif isinstance(first, astroid.ImportFrom):
- if level == first.level and any(
- fullname == '%s.%s' % (first.modname, iname[0])
- for iname in first.names):
+ if level == first.level and any(fullname == '%s.%s' % (first.modname, iname[0])
+ or name == iname[0]
+ for iname in first.names if name != '*'):
found = True
break
if found and not are_exclusive(first, node):
diff --git a/pylint/test/functional/reimported.py b/pylint/test/functional/reimported.py
index 102583211..001dd9add 100644
--- a/pylint/test/functional/reimported.py
+++ b/pylint/test/functional/reimported.py
@@ -1,7 +1,13 @@
-# pylint: disable=missing-docstring,unused-import,import-error
+# pylint: disable=missing-docstring,unused-import,import-error, wildcard-import,unused-wildcard-import,redefined-builtin,no-name-in-module
from time import sleep, sleep # [reimported]
from lala import missing, missing # [reimported]
import missing1
import missing1 # [reimported]
+
+from collections import deque
+from itertools import deque # [reimported]
+
+from itertools import *
+from os import *
diff --git a/pylint/test/functional/reimported.txt b/pylint/test/functional/reimported.txt
index 685c83d3d..b15625e2c 100644
--- a/pylint/test/functional/reimported.txt
+++ b/pylint/test/functional/reimported.txt
@@ -1,3 +1,4 @@
reimported:3::"Reimport 'sleep' (imported line 3)"
reimported:4::"Reimport 'missing' (imported line 4)"
-reimported:7::"Reimport 'missing1' (imported line 6)" \ No newline at end of file
+reimported:7::"Reimport 'missing1' (imported line 6)"
+reimported:10::"Reimport 'deque' (imported line 9)" \ No newline at end of file