U
    e»{jZ  ã                   @   sl   d dl Z ddlmZ dddddd	d
ddddddgZeƒ ZejZejZejZdd„ Zdd„ Z	e
dœdd„ZdS )é    Né   )ÚUnifiedIORegistryZregister_readerZregister_writerZregister_identifierZunregister_readerZunregister_writerZunregister_identifierZ
get_readerZ
get_writerZget_formatsÚreadÚwriteZidentify_formatZdelay_doc_updatesc                    s&   t  ttˆ ƒ¡ddœ‡ fdd„
ƒ}|S )a%  Makes a function for a method on UnifiedIORegistry.

    .. todo::

        Make kwarg "registry" not hidden.

    Returns
    -------
    wrapper : callable
        Signature matches method on UnifiedIORegistry.
        Accepts (hidden) kwarg "registry". default is ``default_registry``.
    N)Úregistryc                    s   | d krt } t| ˆ ƒ||ŽS ©N)Údefault_registryÚgetattr)r   ÚargsÚkwargs©Úmethod_name© úY/var/www/html/bwave/python/venv/lib/python3.8/site-packages/astropy/io/registry/compat.pyÚwrapper.   s    z_make_io_func.<locals>.wrapper)Ú	functoolsÚwrapsr	   r   )r   r   r   r   r   Ú_make_io_func    s    r   c                  C   s   t tƒ ƒ} t| t ƒS r   )ÚlistÚglobalsÚsortedÚ__all__)Zdir_outr   r   r   Ú__dir__=   s    
r   ©Úmethodc                 C   s(   | t krt| ƒS tdt›d| ›�ƒ‚d S )Nzmodule z has no attribute )r   r   ÚAttributeErrorÚ__name__r   r   r   r   Ú__getattr__B   s    r   )r   Úcorer   r   r   Z_identifiersÚ_readersÚ_writersr   r   Ústrr   r   r   r   r   Ú<module>   s,   ó