Files
2024-10-03 21:17:51 -07:00

31 lines
1.1 KiB
Python

# See also: https://github.com/lllyasviel/google_blockly_prototypes/blob/main/LICENSE_pyz
import os
import gzip
import importlib.util
pyz_dir = os.path.abspath(os.path.realpath(os.path.join(__file__, '../../repositories/google_blockly_prototypes/forge')))
module_suffix = ".pyz"
def initialization():
print('Loading additional modules ... ', end='')
for filename in os.listdir(pyz_dir):
if not filename.endswith(module_suffix):
continue
module_name = filename[:-len(module_suffix)]
module_package_name = __package__ + '.' + module_name
dynamic_module = importlib.util.module_from_spec(importlib.util.spec_from_loader(module_package_name, loader=None))
dynamic_module.__dict__['__file__'] = os.path.join(pyz_dir, module_name + '.py')
dynamic_module.__dict__['__package__'] = module_package_name
google_blockly_context = gzip.open(os.path.join(pyz_dir, filename), 'rb').read().decode('utf-8')
exec(google_blockly_context, dynamic_module.__dict__)
globals()[module_name] = dynamic_module
print('done.')
return