Beispiel #1
0
 def __get__(self, inst, cls=None):
     if inst is None:
         return getObjectSpecification(cls)
     else:
         obj = inst._IndexableObjectWrapper__ob
         provided = providedBy(obj)
         return Provides(type(obj), implementedBy(cls), provided)
Beispiel #2
0
    def __init__(self, context):
        self.__dict__['schema'] = [x for x in self.__implemented__][0]
        self.__dict__['prefix'] = self.__dict__['schema'].__identifier__ + '.'
        self.__dict__['data'] = {}
        self.__dict__['context'] = context
        self.__dict__['__provides__'] = Provides(self.__dict__['schema'])

        # see if annotations are preloaded...
        annotations_container = IAnnotations(self.__dict__['context'])
        data = annotations_container.get(self.__annotations_data_key__, _default)
        if data is not _default:
            self.__dict__['data'] = data
Beispiel #3
0
    def __get__(self, inst, cls=None):
        if inst is None:  # pragma: no cover (Not sure how we can get here)
            return getObjectSpecification(cls)

        provided = providedBy(getProxiedObject(inst))

        # Use type rather than __class__ because inst is a proxy and
        # will return the proxied object's class.
        cls = type(inst)
        implemented_by_cls = implementedBy(cls)
        for iface in list(provided):
            if implemented_by_cls.isOrExtends(iface):
                provided = provided - iface
        return Provides(cls, provided)
Beispiel #4
0
 def __init__(self, context):
     self.__dict__['schema'] = [x for x in self.__implemented__][0]
     self.__dict__['prefix'] = self.__dict__['schema'].__identifier__ + '.'
     self.__dict__['data'] = {}
     self.__dict__['context'] = context
     self.__dict__['__provides__'] = Provides(self.__dict__['schema'])
Beispiel #5
0
 def __init__(self, data, iface):
     provides = Provides(_config, iface)
     object.__setattr__(self, '__provides__', provides)
     object.__setattr__(self, '_data', data)
     object.__setattr__(self, '_schema', iface)