
    #j>                     b    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y)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                     |j                  dd      st        d      d| _        |j                  dd       | _        |j                  dd      | _        t        t        | "  |i | y )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      i/home/mi/.openclaw/workspace/fridge-app/backend/.venv/lib/python3.12/site-packages/click_default_group.pyr   zDefaultGroup.__init__@   sa    zz2D9DEE&*# &

9d ;"(**-A5"IlD*D;F;    c                 L    |j                   }| j                  |       || _        y)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|j                  d| j                         t        t        |   ||      S Nr   )r   insertr   r   r   
parse_args)r   ctxr   r   s      r   r   zDefaultGroup.parse_argsO   s6    //KK4001\43C>>r   c                 n    || 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   s5    4==(CH,,H\44S(CCr   c                     t        t        |       }|j                  ||      \  }}}t        |d      r(|j	                  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[   sZ    \4("223=#t3KK388$xxHd""r   c                 H    t        | |d      }t        t        |   ||      S )N*)mark)DefaultCommandFormatterr   r   format_commands)r   r   	formatterr   s      r   r.   zDefaultGroup.format_commandsc   s%    +D)#F	\48iHHr   c                      |j                  dd      }t        t           |i ||sS t	        j
                  dt                fd}|S )Nr   FzBUse default param of DefaultGroup or set_default_command() insteadc                 :     |       }j                  |       |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   sT    **Y.,5tFvF	 67I	K	
 r   )__name__
__module____qualname____doc__r   r   r   r$   r&   r.   r   __classcell__)r   s   @r   r   r   7   s2    <)?
D#I r   c                   $    e Zd ZdZddZd Zd Zy)r-   z,Wraps a formatter to mark a default command.c                 .    || _         || _        || _        y 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 ]S  \  }}|| j                   j                  k(  r"|j                  d|| j                  z   |f       A|j	                  ||f       U  | j
                  j                  |g|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DII!5t <=h-.		/
 't~~&&u>t>v>>r   N)r+   )r8   r9   r:   r;   r   rC   rF    r   r   r-   r-   w   s    6
-?r   r-   )	r;   r5   click__all____version__Groupr   objectr-   rJ   r   r   <module>rP      s?   ,Z   
=5;; =@?f ?r   