From ef73535523d6133e632c52e71c36b86c3271a046 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Tue, 8 Oct 2013 19:57:50 +0400 Subject: [PATCH] fixed PY-11047 "Python version 3.3 does not have module exceptions" on relative import do not run inspection on relative imports --- .../python/inspections/PyCompatibilityInspection.java | 1 + .../inspections/PyCompatibilityInspection/relativeImport.py | 1 + .../python/inspections/PyCompatibilityInspectionTest.java | 5 +++++ 3 files changed, 7 insertions(+) create mode 100644 python/testData/inspections/PyCompatibilityInspection/relativeImport.py diff --git a/python/src/com/jetbrains/python/inspections/PyCompatibilityInspection.java b/python/src/com/jetbrains/python/inspections/PyCompatibilityInspection.java index 9dfa2c0d8e0c..1a36e70b9653 100644 --- a/python/src/com/jetbrains/python/inspections/PyCompatibilityInspection.java +++ b/python/src/com/jetbrains/python/inspections/PyCompatibilityInspection.java @@ -239,6 +239,7 @@ public class PyCompatibilityInspection extends PyInspection { @Override public void visitPyFromImportStatement(PyFromImportStatement node) { super.visitPyFromImportStatement(node); + if (node.getRelativeLevel() > 0) return; int len = 0; StringBuilder message = new StringBuilder("Python version "); PyQualifiedName name = node.getImportSourceQName(); diff --git a/python/testData/inspections/PyCompatibilityInspection/relativeImport.py b/python/testData/inspections/PyCompatibilityInspection/relativeImport.py new file mode 100644 index 000000000000..f4dbf193c0f1 --- /dev/null +++ b/python/testData/inspections/PyCompatibilityInspection/relativeImport.py @@ -0,0 +1 @@ +from ..exceptions import ServiceDoesNotExists \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/inspections/PyCompatibilityInspectionTest.java b/python/testSrc/com/jetbrains/python/inspections/PyCompatibilityInspectionTest.java index e4f263bdb89b..c93c3754f1ff 100644 --- a/python/testSrc/com/jetbrains/python/inspections/PyCompatibilityInspectionTest.java +++ b/python/testSrc/com/jetbrains/python/inspections/PyCompatibilityInspectionTest.java @@ -130,6 +130,11 @@ public class PyCompatibilityInspectionTest extends PyTestCase { doTest(LanguageLevel.PYTHON33); } + // PY-11047 + public void testRelativeImport() { + doTest(); + } + private void doTest(@NotNull LanguageLevel level) { runWithLanguageLevel(level, new Runnable() { @Override