Exemplo n.º 1
0
    def registerObject(self, ob, adapter=NO_ADAPTER_NEEDED, depth=1):

        if adapter is NO_ADAPTER_NEEDED:
            zi.directlyProvides(ob, self.subject)

        elif adapter is DOES_NOT_SUPPORT:
            zi.directlyProvides(ob, zi.directlyProvidedBy(ob) - self.subject)

        return supermeta(ZopeInterfaceAsProtocol,
                         self).registerObject(ob, adapter, depth)
Exemplo n.º 2
0
    def registerObject(self, ob, adapter=NO_ADAPTER_NEEDED, depth=1):

        if adapter is NO_ADAPTER_NEEDED:
            zi.directlyProvides(ob,self.subject)

        elif adapter is DOES_NOT_SUPPORT:
            zi.directlyProvides(ob, zi.directlyProvidedBy(ob)-self.subject)

        return supermeta(ZopeInterfaceAsProtocol,self).registerObject(
            ob, adapter, depth
        )
Exemplo n.º 3
0
    def __adapt__ ( self, ob ):

        result = supermeta( TypeSubset, self ).__adapt__( ob )

        if result is not None:
            return result

        for name in self.methods:
            if not hasattr( ob, name ):
                return None
        else:
            return ob
Exemplo n.º 4
0
    def __adapt__(self, ob):

        result = supermeta(TypeSubset, self).__adapt__(ob)

        if result is not None:
            return result

        for name in self.methods:
            if not hasattr(ob, name):
                return None
        else:
            return ob
Exemplo n.º 5
0
    def registerImplementation(self,klass,adapter=NO_ADAPTER_NEEDED,depth=1):

        if adapter is NO_ADAPTER_NEEDED:
            zi.classImplements(klass, self.subject)

        elif adapter is DOES_NOT_SUPPORT:
            ifaces = zi.Declaration(
                [i.__iro__ for i in zi.implementedBy(klass)]
            ) - self.subject
            zi.classImplementsOnly(klass, ifaces)

        return supermeta(ZopeInterfaceAsProtocol,self).registerImplementation(
            klass,adapter,depth
        )
Exemplo n.º 6
0
    def registerImplementation(self,
                               klass,
                               adapter=NO_ADAPTER_NEEDED,
                               depth=1):

        if adapter is NO_ADAPTER_NEEDED:
            zi.classImplements(klass, self.subject)

        elif adapter is DOES_NOT_SUPPORT:
            ifaces = zi.Declaration(
                [i.__iro__ for i in zi.implementedBy(klass)]) - self.subject
            zi.classImplementsOnly(klass, ifaces)

        return supermeta(ZopeInterfaceAsProtocol,
                         self).registerImplementation(klass, adapter, depth)
Exemplo n.º 7
0
 def __adapt__(self, obj):
     if self.subject.isImplementedBy(obj):
         return obj
     return supermeta(ZopeInterfaceAsProtocol,self).__adapt__(obj)
Exemplo n.º 8
0
 def __adapt__(self, obj):
     if self.subject.isImplementedBy(obj):
         return obj
     return supermeta(ZopeInterfaceAsProtocol, self).__adapt__(obj)