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 | |
| 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')
| -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 |
