From af2f71c910ef2278ce8f1660549cfd9290776111 Mon Sep 17 00:00:00 2001 From: Rogier van der Geer Date: Fri, 13 Dec 2019 12:19:25 +0100 Subject: [PATCH] Convert namespace package names into paths Namespace packages, which have a name like "namespace.package" need to be converted to paths in order to be found by flake8 - as the code is in "namespace/package/". --- src/flake8/main/setuptools_command.py | 4 ++-- tests/unit/test_setuptools_command.py | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/flake8/main/setuptools_command.py b/src/flake8/main/setuptools_command.py index fde290e..98f1c53 100644 --- a/src/flake8/main/setuptools_command.py +++ b/src/flake8/main/setuptools_command.py @@ -54,7 +54,7 @@ class Flake8(setuptools.Command): empty_directory_exists = "" in directories packages = self.distribution.packages or [] for package in packages: - package_directory = package + package_directory = os.path.join(*package.split(".")) if package in directories: package_directory = directories[package] elif empty_directory_exists: @@ -71,7 +71,7 @@ class Flake8(setuptools.Command): if package_directory.startswith(seen_package_directories): continue - seen_package_directories += (package_directory + ".",) + seen_package_directories += (os.path.join(package_directory, ""),) yield package_directory def module_files(self): diff --git a/tests/unit/test_setuptools_command.py b/tests/unit/test_setuptools_command.py index 1c52b2a..1b25e14 100644 --- a/tests/unit/test_setuptools_command.py +++ b/tests/unit/test_setuptools_command.py @@ -14,6 +14,7 @@ def distribution(): 'foo', 'foo.bar', 'foo_biz', + 'namespace.bar', ], }) @@ -30,4 +31,5 @@ def test_package_files_removes_submodules(command): assert sorted(package_files) == [ 'foo', 'foo_biz', + 'namespace/bar', ]