40
40
import _frozen_importlib
41
41
42
42
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 ())
48
47
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__
62
61
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 )
66
65
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
73
72
74
- @staticmethod
75
- def exec_module (module ):
76
- pass
73
+ @staticmethod
74
+ def exec_module (module ):
75
+ pass
77
76
78
77
79
- class JavaTypeLoader :
80
- @staticmethod
81
- def create_module (spec ):
82
- pass
78
+ class JavaTypeLoader :
79
+ @staticmethod
80
+ def create_module (spec ):
81
+ pass
83
82
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__ )
87
86
88
87
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 :
92
92
if JavaPackageLoader .is_java_package (fullname ):
93
93
return _frozen_importlib .ModuleSpec (fullname , JavaPackageLoader , is_package = True )
94
94
else :
@@ -99,5 +99,5 @@ def find_spec(fullname, path, target=None):
99
99
pass
100
100
101
101
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