o
    i
                     @   sx   d Z ddlZeeZi ZzddlmZ edg dZW n e	y,   G dd dZY nw dd Z
d	d
 ZdddZdS )z6
Module that contains the Spyne Application Registry.
    N)
namedtuple_ApplicationMetaDataapp
inst_stacknullostrc                   @   s   e Zd Zdd ZdS )r   c                 C   s   || _ || _|| _|| _d S Nr   )selfr   r   r   r    r   Q/var/www/html/LicenciasMIG/venv/lib/python3.10/site-packages/spyne/util/appreg.py__init__%   s   
z_ApplicationMetaData.__init__N)__name__
__module____qualname__r   r   r   r   r   r   $   s    c                 C   s   | j | jf}t|= d S r	   )tnsnameapplications)r   keyr   r   r   unregister_application,   s   
r   c              	   C   s$  | j | jf}ddlm} z
dd l}| }W n ty!   d }Y nw t|d }|d urst	|j
t	| krGtd|j
|| f  |j| n,td|| f  |jd ursg }|jD ]}|d urh|d| qZtdd|  t| |g|| dd	|| dd
ddt|< td| |f  d S )Nr   )
NullServerzGApplication %r previously registered as %r is the same as %r. Skipping.zOverwriting application %r(%r). z$Stack trace of the instantiation:
%sz====================
F)appinitT)r   r   r   zRegistering %r as %r)r   r   spyne.server.nullr   	tracebackformat_stackImportErrorr   gethashr   loggerdebugr   appendwarningjoinr   )r   r   r   r   stackprevstack_tracessr   r   r   register_application1   s<   




r(   Applicationc                 C   s   t | |fd S r	   )r   r   )r   r   r   r   r   get_applicationW   s   r*   )r)   )__doc__logging	getLoggerr   r   r   collectionsr   r   r   r   r(   r*   r   r   r   r   <module>   s   
	&