Пример #1
0
def _parseBridgeSupport(data, globals, frameworkName, *args, **kwds):
    try:
        try:
            objc.parseBridgeSupport(data, globals, frameworkName, *args, **kwds)
        except objc.internal_error, e:
            import warnings
            warnings.warn("Error parsing BridgeSupport data for %s: %s" % (frameworkName, e), RuntimeWarning)
    finally:
        # Add formal protocols to the protocols submodule, for backward
        # compatibility with earlier versions of PyObjC
        if 'protocols' in globals:
            for p in objc.protocolsForProcess():
                setattr(globals['protocols'], p.__name__, p)
Пример #2
0
def _parseBridgeSupport(data, globals, frameworkName, *args, **kwds):
    try:
        try:
            objc.parseBridgeSupport(data, globals, frameworkName, *args,
                                    **kwds)
        except objc.internal_error, e:
            import warnings
            warnings.warn(
                "Error parsing BridgeSupport data for %s: %s" %
                (frameworkName, e), RuntimeWarning)
    finally:
        # Add formal protocols to the protocols submodule, for backward
        # compatibility with earlier versions of PyObjC
        if 'protocols' in globals:
            for p in objc.protocolsForProcess():
                setattr(globals['protocols'], p.__name__, p)
Пример #3
0
    def __init__(self,
                 name,
                 frameworkIdentifier,
                 frameworkPath,
                 metadict,
                 inline_list=None,
                 initialdict={},
                 parents=()):
        super(ObjCLazyModule, self).__init__(name)

        if frameworkIdentifier is not None or frameworkPath is not None:
            self.__bundle = self.__dict__['__bundle__'] = _loadBundle(
                name, frameworkIdentifier, frameworkPath)

        pfx = name + '.'
        for nm in sys.modules:
            if nm.startswith(pfx):
                rest = nm[len(pfx):]
                if '.' in rest: continue
                if sys.modules[nm] is not None:
                    self.__dict__[rest] = sys.modules[nm]

        self.__dict__.update(initialdict)
        self.__dict__.update(metadict.get('misc', {}))
        self.__parents = parents
        self.__varmap = metadict.get('constants')
        self.__varmap_dct = metadict.get('constants_dict', {})
        self.__enummap = metadict.get('enums')
        self.__funcmap = metadict.get('functions')
        self.__aliases = metadict.get('aliases')
        self.__inlinelist = inline_list

        self.__expressions = metadict.get('expressions')
        self.__expressions_mapping = GetAttrMap(self)

        self.__load_cftypes(metadict.get('cftypes'))

        if metadict.get('protocols') is not None:
            self.__dict__['protocols'] = ModuleType('%s.protocols' % (name, ))
            self.__dict__['protocols'].__dict__.update(metadict['protocols'])

            for p in objc.protocolsForProcess():
                setattr(self.__dict__['protocols'], p.__name__, p)