
    .Ph>                     f    d Z ddlZddlZdgZdZ G d dej                  Z G d de          ZdS )a  
   click_default_group
   ~~~~~~~~~~~~~~~~~~~

   Define a default subcommand by `default=True`:

   .. sourcecode:: python

      import click
      from click_default_group import DefaultGroup

      @click.group(cls=DefaultGroup, default_if_no_args=True)
      def cli():
          pass

      @cli.command(default=True)
      def foo():
          click.echo('foo')

      @cli.command()
      def bar():
          click.echo('bar')

   Then you can invoke that without explicit subcommand name:

   .. sourcecode:: console

      $ cli.py --help
      Usage: cli.py [OPTIONS] COMMAND [ARGS]...

      Options:
        --help    Show this message and exit.

      Command:
        foo*
        bar

      $ cli.py
      foo
      $ cli.py foo
      foo
      $ cli.py bar
      bar

    NDefaultGroupz1.2.4c                   Z     e Zd ZdZ fdZd Z fdZ fdZ fdZ fdZ	 fdZ
 xZS )	r   zInvokes a subcommand marked with `default=True` if any subcommand not
    chosen.

    :param default_if_no_args: resolves to the default command if no arguments
                               passed.

    c                    |                     dd          st          d          d| _        |                    dd           | _        |                    dd          | _         t          t          |           j        |i | d S )Nignore_unknown_optionsTz%Default group accepts unknown optionsdefaultdefault_if_no_argsF)	get
ValueErrorr   popdefault_cmd_namer   superr   __init__)selfargskwargs	__class__s      S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/click_default_group.pyr   zDefaultGroup.__init__@   s    zz2D99 	FDEEE&*# &

9d ; ;"(**-A5"I"I*lD!!*D;F;;;;;    c                 L    |j         }|                     |           || _        dS )z/Sets a command function as the default command.N)nameadd_commandr   )r   commandcmd_names      r   set_default_commandz DefaultGroup.set_default_commandI   s+    <!!! (r   c                     |s"| j         r|                    d| j                   t          t          |                               ||          S Nr   )r   insertr   r   r   
parse_args)r   ctxr   r   s      r   r   zDefaultGroup.parse_argsO   sL     	2/ 	2KK40111\4((33C>>>r   c                     || j         vr||_        | j        }t          t          |                               ||          S N)commandsarg0r   r   r   get_command)r   r   r   r   s      r   r$   zDefaultGroup.get_commandT   s?    4=((CH,H\4((44S(CCCr   c                     t          t          |           }|                    ||          \  }}}t          |d          r"|                    d|j                   |j        }|||fS )Nr#   r   )r   r   resolve_commandhasattrr   r#   r   )r   r   r   baser   cmdr   s         r   r&   zDefaultGroup.resolve_command[   sj    \4(("223==#t3 	 KK38$$$xHd""r   c                 z    t          | |d          }t          t          |                               ||          S )N*)mark)DefaultCommandFormatterr   r   format_commands)r   r   	formatterr   s      r   r.   zDefaultGroup.format_commandsc   s7    +D)#FFF	\4((88iHHHr   c                      |                     dd          } t          t                     j        |i ||sS t	          j        dt                      fd}|S )Nr   FzBUse default param of DefaultGroup or set_default_command() insteadc                 H     |           }                     |           |S r!   )r   )fr)   	decoratorr   s     r   
_decoratorz(DefaultGroup.command.<locals>._decoratoro   s)    )A,,C$$S)))Jr   )r   r   r   r   warningswarnDeprecationWarning)r   r   r   r   r4   r3   r   s   `    @r   r   zDefaultGroup.commandg   s    **Y..5E,--5tFvFF	 	 67I	K 	K 	K	 	 	 	 	 	
 r   )__name__
__module____qualname____doc__r   r   r   r$   r&   r.   r   __classcell__)r   s   @r   r   r   7   s         < < < < <) ) )? ? ? ? ?
D D D D D# # # # #I I I I I        r   c                   &    e Zd ZdZddZd Zd ZdS )r-   z,Wraps a formatter to mark a default command.r+   c                 0    || _         || _        || _        d S r!   )groupr/   r,   )r   r?   r/   r,   s       r   r   z DefaultCommandFormatter.__init__z   s    
"			r   c                 ,    t          | j        |          S r!   )getattrr/   )r   attrs     r   __getattr__z#DefaultCommandFormatter.__getattr__   s    t~t,,,r   c                     g }|D ]M\  }}|| j         j        k    r!|                    d|| j        z   |f           6|                    ||f           N | j        j        |g|R i |S r   )r?   r   r   r,   appendr/   write_dl)r   rowsr   r   rows_r   helps          r   rF   z DefaultCommandFormatter.write_dl   s    " 	/ 	/NHd4:666QDI!5t <====h-....&t~&u>t>>>v>>>r   N)r+   )r8   r9   r:   r;   r   rC   rF    r   r   r-   r-   w   sL        66   
- - -? ? ? ? ?r   r-   )	r;   r5   click__all____version__Groupr   objectr-   rJ   r   r   <module>rP      s   , ,Z   
= = = = =5; = = =@? ? ? ? ?f ? ? ? ? ?r   