| import os | |
| import sys | |
| import importlib | |
| class GstOverrideImport: | |
| def find_spec(self, fullname, path, target=None): | |
| if not (fullname.startswith("gi.overrides.Gst") or fullname.startswith("gi.overrides._gi_gst")): | |
| return None | |
| finder = importlib.machinery.PathFinder() | |
| # From find_spec the docs: | |
| # If name is for a submodule (contains a dot), the parent module is automatically imported. | |
| spec = finder.find_spec( | |
| fullname, | |
| [ | |
| os.environ.get('GST_OVERRIDE_SRC_PATH'), | |
| os.environ.get('GST_OVERRIDE_BUILD_PATH'), | |
| ] | |
| ) | |
| return spec | |
| sys.meta_path.insert(0, GstOverrideImport()) |