diff --git a/python/src/com/jetbrains/python/codeInsight/imports/AddImportHelper.java b/python/src/com/jetbrains/python/codeInsight/imports/AddImportHelper.java index 8534a2c900aa..ba0f11131b2c 100644 --- a/python/src/com/jetbrains/python/codeInsight/imports/AddImportHelper.java +++ b/python/src/com/jetbrains/python/codeInsight/imports/AddImportHelper.java @@ -297,7 +297,7 @@ public class AddImportHelper { for (PyImportElement element : existingImports) { final QualifiedName qName = element.getImportedQName(); if (qName != null && name.equals(qName.toString())) { - if ((asName != null && asName.equals(element.getAsName())) || asName == null) { + if ((asName != null && asName.equals(element.getAsName())) || (asName == null && element.getAsName() == null)) { return false; } } diff --git a/python/testData/addImport/ignoreImportedAsModule.after.py b/python/testData/addImport/ignoreImportedAsModule.after.py new file mode 100644 index 000000000000..4ef712114309 --- /dev/null +++ b/python/testData/addImport/ignoreImportedAsModule.after.py @@ -0,0 +1,6 @@ +import numpy as np +import numpy + +np.ones(3) + +numpy.asarray([1,2,3]) # <-- invoke qfix here \ No newline at end of file diff --git a/python/testData/addImport/ignoreImportedAsModule.py b/python/testData/addImport/ignoreImportedAsModule.py new file mode 100644 index 000000000000..e2e1107c4eae --- /dev/null +++ b/python/testData/addImport/ignoreImportedAsModule.py @@ -0,0 +1,5 @@ +import numpy as np + +np.ones(3) + +numpy.asarray([1,2,3]) # <-- invoke qfix here \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/PyAddImportTest.java b/python/testSrc/com/jetbrains/python/PyAddImportTest.java index d0e69cb49ec1..587bb3c580c1 100644 --- a/python/testSrc/com/jetbrains/python/PyAddImportTest.java +++ b/python/testSrc/com/jetbrains/python/PyAddImportTest.java @@ -100,6 +100,11 @@ public class PyAddImportTest extends PyTestCase { testLocalImport(); } + // PY-18098 + public void testIgnoreImportedAsModule() { + doAddImport("numpy", THIRD_PARTY); + } + // PY-16373 public void testLocalImportQuickFixAvailable() { myFixture.configureByFile(getTestName(true) + ".py");