o
    ۭh                     @  s   d dl mZ d dlmZ z$d dlmZ zd dlmZmZm	Z	 W n e
y.   e Z Z	ZY nw W n e
yE   d dlmZ d dlmZ	 Y nw dd ZG dd	 d	ejeZG d
d dejeZG dd dejeZG dd dejeZeeeedZdS )    )annotations)frontend)Command)	BaseErrorOptionError
SetupError)DistutilsSetupErrorc                 C  s"   |dksJ t |tstddS )ag  Validate the ``message_extractors`` keyword argument to ``setup()``.

    :param dist: the distutils/setuptools ``Distribution`` object
    :param name: the name of the keyword argument (should always be
                 "message_extractors")
    :param value: the value of the keyword argument
    :raise `DistutilsSetupError`: if the value is not valid
    message_extractorszDthe value of the "message_extractors" parameter must be a dictionaryN)
isinstancedictr   )distnamevalue r   g/var/www/html/stock_analysis/be/venv/lib/python3.10/site-packages/babel/messages/setuptools_frontend.pycheck_message_extractors   s   	
r   c                   @     e Zd ZdZdS )compile_cataloga  Catalog compilation command for use in ``setup.py`` scripts.

    If correctly installed, this command is available to Setuptools-using
    setup scripts automatically. For projects using plain old ``distutils``,
    the command needs to be registered explicitly in ``setup.py``::

        from babel.messages.setuptools_frontend import compile_catalog

        setup(
            ...
            cmdclass = {'compile_catalog': compile_catalog}
        )

    .. versionadded:: 0.9
    N__name__
__module____qualname____doc__r   r   r   r   r   #       r   c                   @  r   )extract_messagesa  Message extraction command for use in ``setup.py`` scripts.

    If correctly installed, this command is available to Setuptools-using
    setup scripts automatically. For projects using plain old ``distutils``,
    the command needs to be registered explicitly in ``setup.py``::

        from babel.messages.setuptools_frontend import extract_messages

        setup(
            ...
            cmdclass = {'extract_messages': extract_messages}
        )
    Nr   r   r   r   r   r   5   r   r   c                   @  r   )init_cataloga  New catalog initialization command for use in ``setup.py`` scripts.

    If correctly installed, this command is available to Setuptools-using
    setup scripts automatically. For projects using plain old ``distutils``,
    the command needs to be registered explicitly in ``setup.py``::

        from babel.messages.setuptools_frontend import init_catalog

        setup(
            ...
            cmdclass = {'init_catalog': init_catalog}
        )
    Nr   r   r   r   r   r   E   r   r   c                   @  r   )update_cataloga  Catalog merging command for use in ``setup.py`` scripts.

    If correctly installed, this command is available to Setuptools-using
    setup scripts automatically. For projects using plain old ``distutils``,
    the command needs to be registered explicitly in ``setup.py``::

        from babel.messages.setuptools_frontend import update_catalog

        setup(
            ...
            cmdclass = {'update_catalog': update_catalog}
        )

    .. versionadded:: 0.9
    Nr   r   r   r   r   r   U   r   r   )r   r   r   r   N)
__future__r   babel.messagesr   
setuptoolsr   setuptools.errorsr   r   r   ImportError	Exceptiondistutils.cmddistutils.errorsr   r   CompileCatalogr   ExtractMessagesr   InitCatalogr   UpdateCatalogr   COMMANDSr   r   r   r   <module>   s0    
