aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Mueller <30130371+cdce8p@users.noreply.github.com>2021-10-12 13:04:46 +0200
committerMarc Mueller <30130371+cdce8p@users.noreply.github.com>2021-10-12 13:04:46 +0200
commitd4674781d974bd73ca3bfe82fd0816684f2a97d4 (patch)
tree09d15eaa4fb8a17e86d49e31ec9c4957acbf7c3e
parent02f8b1627ca488b231bb9efa8ad3e65c59fa6d83 (diff)
downloadastroid-d4674781d974bd73ca3bfe82fd0816684f2a97d4.tar.gz
Revert "Fix regression with import resolver"
This reverts commit 02f8b1627ca488b231bb9efa8ad3e65c59fa6d83.
-rw-r--r--astroid/nodes/scoped_nodes.py13
-rw-r--r--tests/testdata/python3/data/beyond_top_level_three/double_name/__init__.py0
-rw-r--r--tests/testdata/python3/data/beyond_top_level_three/module/__init__.py0
-rw-r--r--tests/testdata/python3/data/beyond_top_level_three/module/double_name/__init__.py0
-rw-r--r--tests/testdata/python3/data/beyond_top_level_three/module/double_name/function.py0
-rw-r--r--tests/testdata/python3/data/beyond_top_level_three/module/sub_module/__init__.py0
-rw-r--r--tests/testdata/python3/data/beyond_top_level_three/module/sub_module/sub_sub_module/__init__.py0
-rw-r--r--tests/testdata/python3/data/beyond_top_level_three/module/sub_module/sub_sub_module/main.py1
-rw-r--r--tests/unittest_inference.py6
9 files changed, 6 insertions, 14 deletions
diff --git a/astroid/nodes/scoped_nodes.py b/astroid/nodes/scoped_nodes.py
index 61bb0794..4559fc55 100644
--- a/astroid/nodes/scoped_nodes.py
+++ b/astroid/nodes/scoped_nodes.py
@@ -708,16 +708,19 @@ class Module(LocalsDictNodeNG):
raise
return AstroidManager().ast_from_module_name(modname)
- def relative_to_absolute_name(self, modname: str, level: int) -> str:
+ def relative_to_absolute_name(self, modname, level):
"""Get the absolute module name for a relative import.
The relative import can be implicit or explicit.
:param modname: The module name to convert.
+ :type modname: str
:param level: The level of relative import.
+ :type level: int
:returns: The absolute module name.
+ :rtype: str
:raises TooManyLevelsError: When the relative import refers to a
module too far above this one.
@@ -731,12 +734,8 @@ class Module(LocalsDictNodeNG):
if self.package:
level = level - 1
package_name = self.name.rsplit(".", level)[0]
- elif (
- self.path
- and not os.path.exists(os.path.dirname(self.path[0]) + "/__init__.py")
- and os.path.exists(
- os.path.dirname(self.path[0]) + "/" + modname.split(".")[0]
- )
+ elif not os.path.exists("__init__.py") and os.path.exists(
+ modname.split(".")[0]
):
level = level - 1
package_name = ""
diff --git a/tests/testdata/python3/data/beyond_top_level_three/double_name/__init__.py b/tests/testdata/python3/data/beyond_top_level_three/double_name/__init__.py
deleted file mode 100644
index e69de29b..00000000
--- a/tests/testdata/python3/data/beyond_top_level_three/double_name/__init__.py
+++ /dev/null
diff --git a/tests/testdata/python3/data/beyond_top_level_three/module/__init__.py b/tests/testdata/python3/data/beyond_top_level_three/module/__init__.py
deleted file mode 100644
index e69de29b..00000000
--- a/tests/testdata/python3/data/beyond_top_level_three/module/__init__.py
+++ /dev/null
diff --git a/tests/testdata/python3/data/beyond_top_level_three/module/double_name/__init__.py b/tests/testdata/python3/data/beyond_top_level_three/module/double_name/__init__.py
deleted file mode 100644
index e69de29b..00000000
--- a/tests/testdata/python3/data/beyond_top_level_three/module/double_name/__init__.py
+++ /dev/null
diff --git a/tests/testdata/python3/data/beyond_top_level_three/module/double_name/function.py b/tests/testdata/python3/data/beyond_top_level_three/module/double_name/function.py
deleted file mode 100644
index e69de29b..00000000
--- a/tests/testdata/python3/data/beyond_top_level_three/module/double_name/function.py
+++ /dev/null
diff --git a/tests/testdata/python3/data/beyond_top_level_three/module/sub_module/__init__.py b/tests/testdata/python3/data/beyond_top_level_three/module/sub_module/__init__.py
deleted file mode 100644
index e69de29b..00000000
--- a/tests/testdata/python3/data/beyond_top_level_three/module/sub_module/__init__.py
+++ /dev/null
diff --git a/tests/testdata/python3/data/beyond_top_level_three/module/sub_module/sub_sub_module/__init__.py b/tests/testdata/python3/data/beyond_top_level_three/module/sub_module/sub_sub_module/__init__.py
deleted file mode 100644
index e69de29b..00000000
--- a/tests/testdata/python3/data/beyond_top_level_three/module/sub_module/sub_sub_module/__init__.py
+++ /dev/null
diff --git a/tests/testdata/python3/data/beyond_top_level_three/module/sub_module/sub_sub_module/main.py b/tests/testdata/python3/data/beyond_top_level_three/module/sub_module/sub_sub_module/main.py
deleted file mode 100644
index b9cd0bbc..00000000
--- a/tests/testdata/python3/data/beyond_top_level_three/module/sub_module/sub_sub_module/main.py
+++ /dev/null
@@ -1 +0,0 @@
-from ...double_name import function
diff --git a/tests/unittest_inference.py b/tests/unittest_inference.py
index 1cd65938..f89e8c8a 100644
--- a/tests/unittest_inference.py
+++ b/tests/unittest_inference.py
@@ -6547,11 +6547,5 @@ def test_namespace_package_same_name() -> None:
resources.build_file("data/beyond_top_level_two/a.py")
-def test_relative_imports_init_package() -> None:
- """check that relative imports within a package that uses __init__.py
- still works"""
- resources.build_file("data/beyond_top_level_three/module/sub_module/sub_sub_module/main.py")
-
-
if __name__ == "__main__":
unittest.main()