3 ,ò¿WÜã@sPdZddlmZddlmZddlmZddlmZeeƒGdd„deƒƒZ dS) zFactory object é)Ú implementer)Ú implementedBy)Ú Implements)ÚIFactoryc@s2eZdZdZd dd„Zdd„Zdd „Zd d „ZdS) ÚFactoryzªGeneric factory implementation. The purpose of this implementation is to provide a quick way of creating factories for classes, functions and other objects. ÚNcCs||_||_||_||_dS)N)Ú _callableÚtitleÚ descriptionÚ _interfaces)ÚselfÚcallabler r Z interfaces©rú/usr/lib/python3.6/factory.pyÚ__init__szFactory.__init__cOs |j||ŽS)N)r)r ÚargsÚkwrrrÚ__call__$szFactory.__call__cCs2|jdk r(t|jŽ}t|jddƒ|_|St|jƒS)NÚ__name__z [callable])r rÚgetattrrrr)r ÚspecrrrÚ getInterfaces's   zFactory.getInterfacescCsd|jjt|jƒfS)Nz <%s for %s>)Ú __class__rÚreprr)r rrrÚ__repr__.szFactory.__repr__)rrN)rÚ __module__Ú __qualname__Ú__doc__rrrrrrrrrs  rN) rZzope.interfacerrZzope.interface.declarationsrZzope.component.interfacesrÚobjectrrrrrÚs