4040import _frozen_importlib
4141
4242
43- if sys .graal_python_host_import_enabled :
44- class JavaPackageLoader :
45- @staticmethod
46- def is_java_package (name ):
47- return any (p .getName ().startswith (name ) for p in type ("java.lang.Package" ).getPackages ())
43+ class JavaPackageLoader :
44+ @staticmethod
45+ def is_java_package (name ):
46+ return any (p .getName ().startswith (name ) for p in type ("java.lang.Package" ).getPackages ())
4847
49- @staticmethod
50- def _make_getattr (modname ):
51- modname = modname + "."
52- def __getattr__ (key , default = None ):
53- loadname = modname + key
54- if JavaPackageLoader .is_java_package (loadname ):
55- return JavaPackageLoader ._create_module (loadname )
56- else :
57- try :
58- return type (modname + key )
59- except KeyError :
60- raise AttributeError (key )
61- return __getattr__
48+ @staticmethod
49+ def _make_getattr (modname ):
50+ modname = modname + "."
51+ def __getattr__ (key , default = None ):
52+ loadname = modname + key
53+ if JavaPackageLoader .is_java_package (loadname ):
54+ return JavaPackageLoader ._create_module (loadname )
55+ else :
56+ try :
57+ return type (modname + key )
58+ except KeyError :
59+ raise AttributeError (key )
60+ return __getattr__
6261
63- @staticmethod
64- def create_module (spec ):
65- return JavaPackageLoader ._create_module (spec .name )
62+ @staticmethod
63+ def create_module (spec ):
64+ return JavaPackageLoader ._create_module (spec .name )
6665
67- @staticmethod
68- def _create_module (name ):
69- newmod = _frozen_importlib ._new_module (name )
70- newmod .__getattr__ = JavaPackageLoader ._make_getattr (name )
71- newmod .__path__ = __path__
72- return newmod
66+ @staticmethod
67+ def _create_module (name ):
68+ newmod = _frozen_importlib ._new_module (name )
69+ newmod .__getattr__ = JavaPackageLoader ._make_getattr (name )
70+ newmod .__path__ = __path__
71+ return newmod
7372
74- @staticmethod
75- def exec_module (module ):
76- pass
73+ @staticmethod
74+ def exec_module (module ):
75+ pass
7776
7877
79- class JavaTypeLoader :
80- @staticmethod
81- def create_module (spec ):
82- pass
78+ class JavaTypeLoader :
79+ @staticmethod
80+ def create_module (spec ):
81+ pass
8382
84- @staticmethod
85- def exec_module (module ):
86- sys .modules [module .__name__ ] = type (module .__name__ )
83+ @staticmethod
84+ def exec_module (module ):
85+ sys .modules [module .__name__ ] = type (module .__name__ )
8786
8887
89- class JavaImportFinder :
90- @staticmethod
91- def find_spec (fullname , path , target = None ):
88+ class JavaImportFinder :
89+ @staticmethod
90+ def find_spec (fullname , path , target = None ):
91+ if sys .graal_python_host_import_enabled :
9292 if JavaPackageLoader .is_java_package (fullname ):
9393 return _frozen_importlib .ModuleSpec (fullname , JavaPackageLoader , is_package = True )
9494 else :
@@ -99,5 +99,5 @@ def find_spec(fullname, path, target=None):
9999 pass
100100
101101
102- sys .meta_path .append (JavaImportFinder )
103- __getattr__ = JavaPackageLoader ._make_getattr ("java" )
102+ sys .meta_path .append (JavaImportFinder )
103+ __getattr__ = JavaPackageLoader ._make_getattr ("java" )
0 commit comments