
    Og                     d    d Z ddlmZ ddlmZ ddlmZ ddlmZ  ee       G d de             Z	y)	zFactory object
    )implementer)implementedBy)
Implements)IFactoryc                   *    e Zd ZdZddZd Zd Zd Zy)FactoryzGeneric factory implementation.

    The purpose of this implementation is to provide a quick way of creating
    factories for classes, functions and other objects.
    Nc                 <    || _         || _        || _        || _        y N)	_callabletitledescription_interfaces)selfcallabler   r   
interfacess        Q/var/www/djangounited/venv/lib/python3.12/site-packages/zope/component/factory.py__init__zFactory.__init__   s     !
&%    c                 &     | j                   |i |S r
   )r   )r   argskws      r   __call__zFactory.__call__$   s    t~~t*r**r   c                     | j                   0t        | j                    }t        | j                  dd      |_        |S t        | j                        S )N__name__z
[callable])r   r   getattrr   r   r   )r   specs     r   getInterfaceszFactory.getInterfaces'   sF    't//0D#DNNJMDMKT^^,,r   c                 b    d| j                   j                  dt        | j                        dS )N<z for >)	__class__r   reprr   )r   s    r   __repr__zFactory.__repr__.   s      $ 7 7dnn9MNNr   ) r$   N)r   
__module____qualname____doc__r   r   r   r#    r   r   r   r      s    &+-Or   r   N)
r'   zope.interfacer   r   zope.interface.declarationsr   zope.component.interfacesr   objectr   r(   r   r   <module>r-      s9    & ( 2 . XOf O Or   