INNER CODE UNIT · Python

resolve_extension_dependencies

mosra/flextgl · flext.py:704

    def resolve_extension_dependencies(name):
        # Added as a dependency already, don't add it twice
        if name in extension_set: return []
        extension_set.add(name)
        extension = root.find("./extensions/extension[@name='{}{}']".format(version.prefix, name))
        if extension is None:
            print('%s is not an extension' % name)
            return []
        required = []
        # Extensions can require other extensions. Used to be a `requires`
        # attribute...
        if 'requires' in extension.attrib:
            for i in extension.attrib['requires'].split(','):
                required += resolve_extension_dependencies(i[len(version.prefix):])
        # As of 1.3.241 it's named `depends` instead, with a complex syntax on
        # its own. It's in a form of "(ext+(ext,ext)+version),version", where
        # a `,` means OR and `+` means AND. In the ideal case the dependency
        # would be just the version we already depend on, however at this point

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…