From 67a26ba030389460b98514facb1fb6d67a625152 Mon Sep 17 00:00:00 2001 From: Tim Geypens Date: Tue, 20 Dec 2022 21:28:25 +0000 Subject: [PATCH 1/3] don't read scripts without extensions as modules --- mypy/modulefinder.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mypy/modulefinder.py b/mypy/modulefinder.py index b2abb4847705b..42467a8d3d18b 100644 --- a/mypy/modulefinder.py +++ b/mypy/modulefinder.py @@ -507,7 +507,11 @@ def _find_module(self, id: str, use_typeshed: bool) -> ModuleSearchResult: # In namespace mode, register a potential namespace package if self.options and self.options.namespace_packages: - if fscache.exists_case(base_path, dir_prefix) and not has_init: + if ( + fscache.exists_case(base_path, dir_prefix) + and not fscache.isfile_case(base_path, dir_prefix) + and not has_init + ): near_misses.append((base_path, dir_prefix)) # No package, look for module. From 2405b3a21b4fda0946bf68443e7acfd8b26459c5 Mon Sep 17 00:00:00 2001 From: Tim Geypens Date: Wed, 21 Dec 2022 14:25:31 +0000 Subject: [PATCH 2/3] add script-files that should not be picked up --- test-data/packages/modulefinder/nsx-pkg3/nsx/c/c | 0 test-data/packages/modulefinder/pkg1/a | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 test-data/packages/modulefinder/nsx-pkg3/nsx/c/c create mode 100644 test-data/packages/modulefinder/pkg1/a diff --git a/test-data/packages/modulefinder/nsx-pkg3/nsx/c/c b/test-data/packages/modulefinder/nsx-pkg3/nsx/c/c new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/test-data/packages/modulefinder/pkg1/a b/test-data/packages/modulefinder/pkg1/a new file mode 100644 index 0000000000000..e69de29bb2d1d From 4fe1154ce5aa67d5de3a2c5207a2e1fd9a734106 Mon Sep 17 00:00:00 2001 From: Shantanu <12621235+hauntsaninja@users.noreply.github.com> Date: Mon, 9 Jan 2023 22:33:39 -0800 Subject: [PATCH 3/3] Micro-optimise condition --- mypy/modulefinder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mypy/modulefinder.py b/mypy/modulefinder.py index 42467a8d3d18b..265d76ed5bb64 100644 --- a/mypy/modulefinder.py +++ b/mypy/modulefinder.py @@ -508,9 +508,9 @@ def _find_module(self, id: str, use_typeshed: bool) -> ModuleSearchResult: # In namespace mode, register a potential namespace package if self.options and self.options.namespace_packages: if ( - fscache.exists_case(base_path, dir_prefix) + not has_init + and fscache.exists_case(base_path, dir_prefix) and not fscache.isfile_case(base_path, dir_prefix) - and not has_init ): near_misses.append((base_path, dir_prefix))