
    uj                         d dl mZ d dlmZ d dlmZ  e            Zd Z G d de          Z G d de          Z	 G d	 d
e          Z
 G d de          ZdS )    )ArgumentParser)
CLICommand)PluginsManagerc                      t          |           S )z> Function which will be called for a specific sub parser.
    )
PluginsCMDargss    f/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/modelscope/cli/plugins.pysubparser_funcr      s     d    c                   :    e Zd ZdZd Zedefd            Zd ZdS )r   pluginc                     || _         d S Nr   )selfr	   s     r
   __init__zPluginsCMD.__init__   s    			r   parsersc                 B   |                      t          j                  }|                    d          }t                              |           t                              |           t                              |           |                    t                     dS )z* define args for install command.
        command)dest)funcN)

add_parserr   nameadd_subparsersPluginsInstallCMDdefine_argsPluginsUninstallCMDPluginsListCMDset_defaultsr   )r   parser
subparserss      r
   r   zPluginsCMD.define_args   s     ##JO44**	*::
%%j111''
333"":...00000r   c                    t          | j                   | j        j        t          j        k    rt                              | j                   | j        j        t          j        k    rt                              | j                   | j        j        t          j        k    r!t                              | j                   d S d S r   )printr	   r   r   r   executer   r   )r   s    r
   r$   zPluginsCMD.execute$   s    di9 1 666%%di0009 3 888''	2229 333""49----- 43r   N)	__name__
__module____qualname__r   r   staticmethodr   r   r$    r   r
   r   r      s^        D   
1^ 
1 
1 
1 \
1. . . . .r   r   c                   D    e Zd ZdZedefd            Zed             ZdS )r   installr   c                     |                      t          j                  }|                    dt          dd d           |                    ddt          d d           |                    d	d
t          dd           d S )Npackage+$Name of the package to be installed.typenargsdefaulthelpz--index_urlz-i%Base URL of the Python Package Index.r1   r3   r4   z--force_updatez-fFzIf force update the package)r   r   r   add_argumentstrr   r+   s     r
   r   zPluginsInstallCMD.define_args1   s    $$%6%;<<7 	 	9 	9 	9 	8 	 	: 	: 	: 	. 	 	0 	0 	0 	0 	0r   c                 x    t                               t          | j                  | j        | j                   d S )N)	index_urlforce_update)plugins_managerinstall_pluginslistr-   r;   r<   r   s    r
   r$   zPluginsInstallCMD.executeG   sA    ''n* 	( 	, 	, 	, 	, 	,r   Nr%   r&   r'   r   r(   r   r   r$   r)   r   r
   r   r   .   sY        D0^ 0 0 0 \0* , , \, , ,r   r   c                   D    e Zd ZdZedefd            Zed             ZdS )r   	uninstallr   c                     |                      t          j                  }|                    dt          dd d           |                    ddt          dd	           d S )
Nr-   r.   r/   r0   z--yesz-yFr5   r6   )r   r   r   r7   r8   r9   s     r
   r   zPluginsUninstallCMD.define_argsR   s}    $$%8%=>>7 	 	9 	9 	9 	8 	 	: 	: 	: 	: 	:r   c                 l    t                               t          | j                  | j                   d S )N)is_yes)r=   uninstall_pluginsr?   r-   yesr   s    r
   r$   zPluginsUninstallCMD.executeb   s-    ))$t|*<*<TX)NNNNNr   Nr@   r)   r   r
   r   r   O   s^        D:^ : : : \: O O \O O Or   r   c                   D    e Zd ZdZedefd            Zed             ZdS )r   r?   r   c                     |                      t          j                  }|                    ddt          d d           d S )Nz--allz-az6Show all of the plugins including those not installed.r6   )r   r   r   r7   r8   r9   s     r
   r   zPluginsListCMD.define_argsj   sS    $$^%899I 	 	K 	K 	K 	K 	Kr   c                 F    t                               t                     d S )N)show_all)r=   list_pluginsallr   s    r
   r$   zPluginsListCMD.executet   s    $$c$22222r   Nr@   r)   r   r
   r   r   g   s^        DK^ K K K \K 3 3 \3 3 3r   r   N)argparser   modelscope.cli.baser   modelscope.utils.pluginsr   r=   r   r   r   r   r   r)   r   r
   <module>rQ      s   $ # # # # # * * * * * * 3 3 3 3 3 3 .""  . . . . . . . .:, , , , ,
 , , ,BO O O O O* O O O03 3 3 3 3Z 3 3 3 3 3r   