コード例 #1
0
 def import_(self, root, module):
     loader_details = [
         (machinery.SourceFileLoader, machinery.SOURCE_SUFFIXES, True),
         (machinery.SourcelessFileLoader, machinery.BYTECODE_SUFFIXES, True)
     ]
     finder = machinery.FileFinder(root, *loader_details)
     return finder.find_module(module)
コード例 #2
0
 def test_invalidate_caches(self):
     # invalidate_caches() should reset the mtime.
     finder = machinery.FileFinder(
         '', (machinery.SourceFileLoader, machinery.SOURCE_SUFFIXES))
     finder._path_mtime = 42
     finder.invalidate_caches()
     self.assertEqual(finder._path_mtime, -1)
コード例 #3
0
 def find_module(self):
     good_name = ext_util.NAME
     bad_name = good_name.upper()
     assert good_name != bad_name
     finder = machinery.FileFinder(
         ext_util.PATH,
         (machinery.ExtensionFileLoader, machinery.EXTENSION_SUFFIXES))
     return finder.find_module(bad_name)
コード例 #4
0
 def find(self, path):
     finder = machinery.FileFinder(path,
                                   (machinery.SourceFileLoader,
                                         machinery.SOURCE_SUFFIXES,
                                         True),
                                     (machinery.SourcelessFileLoader,
                                         machinery.BYTECODE_SUFFIXES,
                                         True))
     return finder.find_module(self.name)
コード例 #5
0
 def test_empty_string_for_dir(self):
     # The empty string from sys.path means to search in the cwd.
     finder = machinery.FileFinder(
         '', (machinery.SourceFileLoader, machinery.SOURCE_SUFFIXES))
     with open('mod.py', 'w') as file:
         file.write("# test file for importlib")
     try:
         loader = finder.find_module('mod')
         self.assertTrue(hasattr(loader, 'load_module'))
     finally:
         os.unlink('mod.py')
コード例 #6
0
 def test_multiphase2(self):
     import sys
     from importlib import machinery, util
     module = self.import_module(name=self.name, use_imp=True)
     finder = machinery.FileFinder(None)
     spec = util.find_spec(self.name)
     assert spec
     assert module.__name__ == self.name
     #assert module.__file__ == spec.origin
     assert module.__package__ == ''
     raises(AttributeError, 'module.__path__')
     assert module is sys.modules[self.name]
     assert isinstance(module.__loader__, machinery.ExtensionFileLoader)
コード例 #7
0
 def get_finder(self, root):
     loader_details = [
         (machinery.SourceFileLoader, machinery.SOURCE_SUFFIXES),
         (machinery.SourcelessFileLoader, machinery.BYTECODE_SUFFIXES)
     ]
     return machinery.FileFinder(root, *loader_details)
コード例 #8
0
ファイル: test_finder.py プロジェクト: Ds110/mee-python
 def find_module(self, fullname):
     importer = machinery.FileFinder(util.PATH,
                                     (machinery.ExtensionFileLoader,
                                      machinery.EXTENSION_SUFFIXES))
     return importer.find_module(fullname)
コード例 #9
0
def loadPythonCExtensionFromFile(library_file_name: str, module_name: str):
    importer = machinery.FileFinder(
        os.path.dirname(os.path.abspath(library_file_name)),
        (machinery.ExtensionFileLoader, machinery.EXTENSION_SUFFIXES))
    module = importer.find_module(module_name).load_module(module_name)
    return module