o
    rqi                     @   sv   d dl mZ d dlmZ d dlmZ e Zdd ZG dd deZG dd	 d	eZ	G d
d deZ
G dd deZdS )    )ArgumentParser)
CLICommand)PluginsManagerc                 C   s   t | S )z> Function which will be called for a specific sub parser.
    )
PluginsCMDargs r   ]/home/app/PaddleOCR-VL/.venv_paddleocr/lib/python3.10/site-packages/modelscope/cli/plugins.pysubparser_func   s   r
   c                   @   s2   e Zd ZdZdd ZedefddZdd Zd	S )
r   pluginc                 C   s
   || _ d S Nr   )selfr   r   r   r	   __init__   s   
zPluginsCMD.__init__parsersc                 C   sF   |  tj}|jdd}t| t| t| |jt	d dS )z* define args for install command.
        command)dest)funcN)

add_parserr   nameadd_subparsersPluginsInstallCMDdefine_argsPluginsUninstallCMDPluginsListCMDset_defaultsr
   )r   parserZ
subparsersr   r   r	   r      s   


zPluginsCMD.define_argsc                 C   s`   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   r   r   r	   r   $   s   
zPluginsCMD.executeN)	__name__
__module____qualname__r   r   staticmethodr   r   r   r   r   r   r	   r      s    r   c                   @   .   e Zd ZdZedefddZedd ZdS )r   installr   c                 C   sL   |  tj}|jdtdd dd |jddtd dd |jd	d
td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.r(   r*   r+   z--force_updatez-fFzIf force update the package)r   r   r   add_argumentstrr   r#   r   r   r	   r   1   s,   
zPluginsInstallCMD.define_argsc                 C   s   t jt| j| j| jd d S )N)	index_urlforce_update)plugins_managerZinstall_pluginslistr$   r1   r2   r   r   r   r	   r   G   s
   
zPluginsInstallCMD.executeNr   r   r    r   r!   r   r   r   r   r   r   r	   r   .   s    r   c                   @   r"   )r   	uninstallr   c                 C   s8   |  tj}|jdtdd dd |jddtddd	 d S )
Nr$   r%   r&   r'   z--yesz-yFr,   r-   )r   r   r   r.   r/   r0   r   r   r	   r   R   s   
zPluginsUninstallCMD.define_argsc                 C   s   t jt| j| jd d S )N)Zis_yes)r3   Zuninstall_pluginsr4   r$   yesr   r   r   r	   r   b   s   zPluginsUninstallCMD.executeNr5   r   r   r   r	   r   O   s    r   c                   @   r"   )r   r4   r   c                 C   s$   |  tj}|jddtd dd d S )Nz--allz-az6Show all of the plugins including those not installed.r-   )r   r   r   r.   r/   r0   r   r   r	   r   j   s   
zPluginsListCMD.define_argsc                 C   s   t jtd d S )N)Zshow_all)r3   Zlist_pluginsallr   r   r   r	   r   t   s   zPluginsListCMD.executeNr5   r   r   r   r	   r   g   s    	r   N)argparser   Zmodelscope.cli.baser   Zmodelscope.utils.pluginsr   r3   r
   r   r   r   r   r   r   r   r	   <module>   s   !