%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python3/dist-packages/gi/__pycache__/
Upload File :
Create Path :
Current File : //usr/lib/python3/dist-packages/gi/__pycache__/_option.cpython-312.pyc

�

��f�5��<�dZddlZddlZddlZddlmZmZmZmZmZddl	m
Z
ddlmZm
Z
ddlmZe
d�Zej#ej%��Zgd	�ZGd
�dej*�ZGd�d
ej,�ZGd�dej.�ZeZy)a,GOption command line parser

Extends optparse to use the GOptionGroup, GOptionEntry and GOptionContext
objects. So it is possible to use the gtk, gnome_program and gstreamer command
line groups and contexts.

Use this interface instead of the raw wrappers of GOptionContext and
GOptionGroup in glib.
�N)�
OptParseError�OptionError�OptionValueError�BadOptionError�OptionConflictError�)�get_introspection_module)�_gi�PyGIDeprecationWarning)�GError�GLib)	rrrrr�Option�OptionGroup�OptionParser�make_optionc��eZdZdZej
jdzZej
jgd�zZdejzZ
d�Zd�Zd�Z
y)	ra�Represents a command line option

    To use the extended possibilities of the GOption API Option
    (and make_option) are extended with new types and attributes.

    Types:
        filename   The supplied arguments are read as filename, GOption
                   parses this type in with the GLib filename encoding.

    :ivar optional_arg:
        This does not need a arguement, but it can be supplied.
    :ivar hidden:
        The help list does not show this option
    :ivar in_main:
        This option apears in the main group, this should only
        be used for backwards compatibility.

    Use Option.REMAINING as option name to get all positional arguments.

    .. NOTE::
        Every argument to an option is passed as utf-8 coded string, the only
        exception are options which use the 'filename' type, its arguments
        are passed as strings in the GLib filename encoding.

    For further help, see optparse.Option.
    )�filename)�hidden�in_main�optional_arg�--c�b�tjdt�tjj
|g|��i|��|jstd��t|j�t|j�krtd��|jstd|jd��y)NzYgi.repository.GLib.option.Option is depecated, use gi.repository.GLib.OptionEntry insteadz!%s at least one long option name.z;%s at least more long option names than short option names.z%s needs a help message.r)�warnings�warnr�optparser�__init__�
_long_opts�
ValueError�len�_short_opts�help��self�args�kwargss   �,/usr/lib/python3/dist-packages/gi/_option.pyrzOption.__init___s����
�
�g�"�	
�	��� � ��7��7��7�����@�A�A��t����#�d�&6�&6�"7�7��M�O�
O��y�y��7�����9K�L�L��c��|j|vr%|jj|j�tjj||�t
|j�t
|j�kDrtd��y)NzCgoption.Option needs more long option names than short option names)	�	REMAININGr�appendrr�_set_opt_stringrr r)r#�optss  r&r+zOption._set_opt_stringosk���>�>�T�!��O�O�"�"�4�>�>�2����'�'��d�3��t��� �3�t���#7�7��8�9�
9�8r'c#�$K�d}|jr|tjjz}|jr|tjj
z}|j
�r*|jr;|tjjz}n|tjjz}|jdk(r|tjjz}t|j|j�D]K\}}|d}t|t �s|j#d�}|dd|||j$|j&f���M|jt)|j�dD]"}|ddd||j$|j&f���$y�w)Nrrrzutf-8��)rr
�OptionFlags�HIDDENr�IN_MAIN�takes_valuer�OPTIONAL_ARG�NO_ARG�type�FILENAME�ziprr �
isinstance�bytes�encoder!�metavarr)r#�flags�	long_name�
short_name�short_bytess     r&�_to_goptionentrieszOption._to_goptionentrieswsZ�������;�;��T�%�%�,�,�,�E��<�<��T�%�%�-�-�-�E������ � ���)�)�6�6�6���T�%�%�,�,�,�E��9�9�
�"��T�%�%�.�.�.�E�'*�4�?�?�D�<L�<L�'M�	O�#�Y�
�$�Q�-�K��k�5�1�)�0�0��9���Q�R�=�+�u�d�i�i����N�N�		O�����T�-=�-=�)>�)?�@�	I�I��Q�R�=�%���	�	�4�<�<�H�H�	I�s�FFN)�__name__�
__module__�__qualname__�__doc__rr�TYPES�ATTRSr
�OPTION_REMAININGr)rr+rA�r'r&rr8s`���4
�O�O�!�!�%�
�E�
�O�O�!�!�%�
�E��t�,�,�,�I�M� 9�Ir'rc�8�eZdZdZ			dd�Zd�Zd�Zd	d�Zd�Zy)
ra�A group of command line options.

    :param str name:
        The groups name, used to create the --help-{name} option
    :param str description:
        Shown as title of the groups help view
    :param str help_description:
        Shown as help to the --help-{name} option
    :param list option_list:
        The options used in this group, must be option.Option()
    :param dict defaults:
        A dicitionary of default values
    :param translation_domain:
           Sets the translation domain for gettext().

    .. NOTE::
        This OptionGroup does not exactly map the optparse.OptionGroup
        interface. There is no parser object to supply, but it is possible
        to set default values and option_lists. Also the default values and
        values are not shared with the OptionParser.

    To pass a OptionGroup into a function which expects a GOptionGroup (e.g.
    gnome_program_init() ). OptionGroup.get_option_group() can be used.

    For further help, see optparse.OptionGroup.
    Nc��tjdt�tjj|td|�||_d|_||_	|r||_
d|_||_|r|D]}|j|��yy)Nz`gi.repository.GLib.option.OptionGroup is depecated, use gi.repository.GLib.OptionContext instead�error)rrrr�OptionContainerrr�name�parser�help_description�defaults�values�translation_domain�
add_option)r#rN�descriptionrP�option_listrQrS�options        r&rzOptionGroup.__init__�s���	�
�
�n�"�	
�	� � �)�)�$����M���	���� 0����$�D�M����"4����%�
(������'�
(�r'c�2�g|_|j�y�N)rV�_create_option_mappings)r#s r&�_create_option_listzOptionGroup._create_option_list�s������$�$�&r'c�V�����fd�}tj�j�j�j|�}�j
r|j
�j
�g}�jD]!}|j|j���#|j|�|S)Nc���|jd�r�j|}n�j|}	|j||�j��y#t
$rht
j�d}tt|��}t|_tjj|_t|�|_|�wxYw)Nrr)�
startswith�	_long_opt�
_short_opt�processrRr�sys�exc_infor�str�OPTION_CONTEXT_ERROR_QUARK�domainr
r�	BAD_VALUE�code�message)�option_name�option_value�group�optrL�gerrorrOr#s      ��r&�callbackz.OptionGroup._to_goptiongroup.<locals>.callback�s�����%�%�d�+��n�n�[�1���o�o�k�2��
����K��t�{�{�F�K��#�
�����q�)����E�
�+�� :��
�"�.�.�8�8���!$�U������

�s�A�A1C)r
rrNrUrPrS�set_translation_domainrV�extendrA�add_entries)r#rOrorl�entriesrWs``    r&�_to_goptiongroupzOptionGroup._to_goptiongroup�s����	� ����	�	�4�+;�+;� $� 5� 5�x�A���"�"��(�(��)@�)@�A����&�&�	8�F��N�N�6�4�4�6�7�	8�	���'�"��r'c�D�|j�|j|�S)z� Returns the corresponding GOptionGroup object.

        Can be used as parameter for gnome_program_init(), gtk_init().
        )�set_values_to_defaultsrt)r#rOs  r&�get_option_groupzOptionGroup.get_option_group�s!��
	
�#�#�%��$�$�V�,�,r'c�L�|jD]q}|jj|j�}t	|t
�s�9|j
�}|j||�|j|j<�stj|j�|_
yrY)rVrQ�get�destr9rd�get_opt_string�check_valuer�ValuesrR)r#rW�default�opt_strs    r&rvz"OptionGroup.set_values_to_defaults�s���&�&�	&�F��m�m�'�'����4�G��'�3�'� �/�/�1��-3�-?�-?��W�.&��
�
�f�k�k�*�		&��o�o�d�m�m�4��r')�NNNrY)	rBrCrDrErr[rtrwrvrIr'r&rr�s+���4<>�,0�$(�(�,'��<-�5r'rc�<�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d
d	�Z
y)raHCommand line parser with GOption support.

    :param bool help_enabled:
        The --help, --help-all and --help-{group} options are enabled (default).
    :param bool ignore_unknown_options:
        Do not throw a exception when a option is not knwon, the option
        will be in the result list.

    .. NOTE::
        The OptionParser interface is not the exactly the same as the
        optparse.OptionParser interface. Especially the usage parameter
        is only used to show the metavar of the arguements.

    OptionParser.add_option_group() does not only accept OptionGroup instances
    but also glib.OptionGroup, which is returned by gtk_get_option_group().

    Only glib.option.OptionGroup and glib.option.Option instances should
    be passed as groups and options.

    For further help, see optparse.OptionParser.
    c��tjdt�d|vr	t|d<|j	dd�|_|j	dd�|_tjj|g|��ddi|��y)Nzagi.repository.GLib.option.OptionParser is depecated, use gi.repository.GLib.OptionContext instead�option_class�help_enabledT�ignore_unknown_optionsF�add_help_option)
rrrr�popr�r�rrrr"s   r&rzOptionParser.__init__s���
�
�o�"�	
���'�%+�F�>�"�"�J�J�~�t�<���&,�j�j�1I�16�'8��#����&�&�t�	8�(,�	8�U�	8�06�	8r'c�p�|�d|_y|jd�r|td�d|_y||_y)Nr�z%prog)�usager^r)r#r�s  r&�	set_usagezOptionParser.set_usages5���=��D�J�
�
�
�g�
&��s�7�|�}�-�D�J��D�Jr'c�����jr�jdz�jz}n�j}tj|�}|j	�j
�|j
�j��jD]A}t|tj�r|}n|j��}|j|��C��fd�}tjddd|�}g}�jD]!}	|j|	j���#|j!|�|j#|�|S)Nz - c���|jd�r�j|}n�j|}|j||���y)Nr)r^r_r`ra)rjrkrlrmr#rRs    ��r&roz1OptionParser._to_goptioncontext.<locals>.callback4s?����%�%�d�+��n�n�[�1���o�o�k�2���K�K��\�6�4�@r')rUr�r
�
OptionContext�set_help_enabledr��set_ignore_unknown_optionsr��
option_groupsr9rrw�	add_grouprVrqrArr�set_main_group)
r#rR�parameter_string�context�option_group�g_groupro�
main_group�main_entriesrWs
``        r&�_to_goptioncontextzOptionParser._to_goptioncontext$s������#�z�z�E�1�D�4D�4D�D��#�z�z���#�#�$4�5��� � ��!2�!2�3��*�*�4�+F�+F�G� �.�.�	'�L��,����8�&��&�7�7��=�����g�&�	'�	A��_�_�T�4��x�@�
����&�&�	=�F����� 9� 9� ;�<�	=����|�,����z�*��r'c���t|dt�r.tjj	|t|g|��i|���yt
|�dk(r�|s�t|dt
�r5|djs
||d_|dj|urtd��t|dtj
�r|jj|d�ytjj|g|��i|��y)Nrrz"invalid OptionGroup (wrong parser))r9rdrr�add_option_grouprrrOrr
r�r*r"s   r&r�zOptionParser.add_option_groupDs����d�1�g�s�#��!�!�2�2�4�3>�t�3U�d�3U�f�3U�
W��
��Y�!�^�F��$�q�'�;�/��A�w�~�~�%)�D��G�N���7�>�>��-�$�%I�J�J��$�q�'�3�?�?�3��"�"�)�)�$�q�'�2�����.�.�t�E�d�E�f�Er'c��|jdd}|jD]8}t|tj�s�|j|j��:|SrY)rVr�r9rrrq)r#�optionsrls   r&�_get_all_optionszOptionParser._get_all_optionsTsP���"�"�1�%���'�'�	2�E��%��!5�!5�6����u�0�0�1�	2��r'c�~�|j|�}|jtjdg|z�dd|ddy)Nrr)r��parserb�argv)r#�largs�rargsrRr�s     r&�
_process_argszOptionParser._process_args[s<���)�)�&�1��
�=�=�#�(�(�1�+���!6�7���;��a�r'Nc���	tjj|||�\}}|j$D]@}|j&j(j+�D]\}}|j-||���B||fS#t$r�t	j
�d}|jtk7r�|jtjjk(rt|j��|jtjjk(rt|j��|jtjj k(rt#|j���wxYw)Nr)rr�
parse_argsrrbrcrfrerhr
rrgrri�UNKNOWN_OPTIONr�FAILEDrr�rR�__dict__�items�ensure_value)r#r$rRr�rLrl�key�values        r&r�zOptionParser.parse_argscs*��	�$�1�1�<�<��d�F�$�M�G�T��'�'�	1�E�#�l�l�3�3�9�9�;�
1�
��U��$�$�S�%�0�
1�	1���}���#�	��L�L�N�1�%�E��|�|�9�9���z�z�T�-�-�7�7�7�&�u�}�}�5�5����t�/�/�>�>�>�$�U�]�]�3�3����t�/�/�6�6�6�#�E�M�M�2�2��	�s�$A9�9C*E#)NN)rBrCrDrErr�r�r�r�r�r�rIr'r&rr�s,���,8���@F� �<�r'r)rErbrrrrrrr�moduler	�gir
r�	gi._errorrr
�quark_to_string�option_error_quarkre�__all__rrrrrIr'r&�<module>r�s���(����(�(�,�*����'��!�1�1�$�2I�2I�2K�L��
��XI�X�_�_�XI�vb5�(�&�&�b5�J@�8�(�(�@�F�r'

Zerion Mini Shell 1.0