diff options
author | Claudiu Popa <pcmanticore@gmail.com> | 2015-12-06 18:00:01 +0200 |
---|---|---|
committer | Claudiu Popa <pcmanticore@gmail.com> | 2015-12-06 18:00:01 +0200 |
commit | f77f5e36632bf6ea76d044bf14a132ff6e22dbfb (patch) | |
tree | f6a34d4946bb7c8f6052b9071dc9ba9930aecd79 /astroid/tree/scoped_nodes.py | |
parent | 853726a295a8b4000bbb7ff9032cd1573e5ddf6c (diff) | |
download | astroid-git-f77f5e36632bf6ea76d044bf14a132ff6e22dbfb.tar.gz |
relative_to_absolute_name will now raise TooManyLevelsError when a relative import is trying to access something beyond the top-level package.
Diffstat (limited to 'astroid/tree/scoped_nodes.py')
-rw-r--r-- | astroid/tree/scoped_nodes.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/astroid/tree/scoped_nodes.py b/astroid/tree/scoped_nodes.py index 6aa5948c..ae8da65f 100644 --- a/astroid/tree/scoped_nodes.py +++ b/astroid/tree/scoped_nodes.py @@ -541,6 +541,10 @@ class Module(LocalsDictNodeNG): if level: if self.package: level = level - 1 + if level and self.name.count('.') < level: + raise exceptions.TooManyLevelsError( + level=level, name=self.name) + package_name = self.name.rsplit('.', level)[0] elif self.package: package_name = self.name |