File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1212
1313
1414class ImportLibPackageFinder (AbstractPackageFinder ):
15- def determine_package_directory (
15+ def _determine_package_directory (
1616 self , package_name : str , file_system : AbstractFileSystem
1717 ) -> str :
1818 # TODO - do we need to add the current working directory here?
@@ -34,6 +34,11 @@ def determine_package_directory(
3434 "adding an __init__.py file should fix the problem."
3535 )
3636
37+ def determine_package_directories (
38+ self , package_name : str , file_system : AbstractFileSystem
39+ ) -> set [str ]:
40+ return {self ._determine_package_directory (package_name , file_system )}
41+
3742 def _is_a_package (self , spec : ModuleSpec , file_system : AbstractFileSystem ) -> bool :
3843 assert spec .origin
3944 filename = file_system .split (spec .origin )[1 ]
Original file line number Diff line number Diff line change 55
66class AbstractPackageFinder (abc .ABC ):
77 @abc .abstractmethod
8- def determine_package_directory (
8+ def determine_package_directories (
99 self , package_name : str , file_system : AbstractFileSystem
10- ) -> str :
10+ ) -> set [ str ] :
1111 raise NotImplementedError
Original file line number Diff line number Diff line change @@ -79,7 +79,7 @@ def _find_packages(
7979 found_packages : set [FoundPackage ] = set ()
8080
8181 for package_name in package_names :
82- package_directory = package_finder .determine_package_directory (
82+ [ package_directory ] = package_finder .determine_package_directories (
8383 package_name = package_name , file_system = file_system
8484 )
8585 found_package = module_finder .find_package (
Original file line number Diff line number Diff line change 55class BaseFakePackageFinder (AbstractPackageFinder ):
66 directory_map : dict [str , str ] = {}
77
8- def determine_package_directory (
8+ def determine_package_directories (
99 self , package_name : str , file_system : AbstractFileSystem
10- ) -> str :
11- return self .directory_map [package_name ]
10+ ) -> set [ str ] :
11+ return { self .directory_map [package_name ]}
Original file line number Diff line number Diff line change 2525 ),
2626 ),
2727)
28- def test_determine_package_directory (package , expected ):
29- assert ImportLibPackageFinder ().determine_package_directory (package , FileSystem ()) == str (
30- expected
31- )
28+ def test_determine_package_directories (package , expected ):
29+ assert ImportLibPackageFinder ().determine_package_directories (package , FileSystem ()) == {
30+ str ( expected )
31+ }
3232
3333
3434def test_determine_package_directory_doesnt_support_namespace_packages ():
@@ -40,7 +40,7 @@ def test_determine_package_directory_doesnt_support_namespace_packages():
4040 "namespace packages, adding an __init__.py file should fix the problem."
4141 ),
4242 ):
43- ImportLibPackageFinder ().determine_package_directory ("mynamespace" , FakeFileSystem ())
43+ ImportLibPackageFinder ().determine_package_directories ("mynamespace" , FakeFileSystem ())
4444
4545
4646@pytest .mark .parametrize (
@@ -53,8 +53,8 @@ def test_determine_package_directory_doesnt_support_namespace_packages():
5353 "mynamespace.yellow" ,
5454 ),
5555)
56- def test_determine_package_directory_doesnt_support_non_top_level_modules (package ):
56+ def test_determine_package_directories_doesnt_support_non_top_level_modules (package ):
5757 with pytest .raises (
5858 exceptions .NotATopLevelModule ,
5959 ):
60- ImportLibPackageFinder ().determine_package_directory (package , FakeFileSystem ())
60+ ImportLibPackageFinder ().determine_package_directories (package , FakeFileSystem ())
You can’t perform that action at this time.
0 commit comments