
    Ti%                    t    S SK Jr  S SKrS SKJrJr  S SKJr   S rSS jr	SS jr
S rS	 rS
 rS rS rS rg)    )annotationsN)packagesettings)AvailablePackagec                .    [         R                  " 5         g)zUpdate the package index.N)r   update_package_index)argss    h/var/www/html/backend/Backoffice_Marketplace/venv/lib/python3.13/site-packages/argostranslate/argospm.pyupdate_indexr      s      "    c                      [         R                  " 5       n U $ !   [        5         [         R                  " 5       n  U $ = f)zoGet available packages and update packages list if it is not done

Returns:
    The list of available packages
)r   get_available_packagesr   )available_packagess    r
   r   r      s?    >$;;=
 	>$;;=s    !=c                    U R                  5       n[        SU 35        [        R                  " U5        [        S[        R
                   35        g )NzDownloaded package zInstalled package to )downloadprintr   install_from_pathr   package_data_dir)available_packagedownload_paths     r
   install_package_print_pathr   %   sE    %..0M	
/0m,	!(";";!<
=>r   c                 J    [        5       n U  H  nUR                  5         M     g)z2Install all packages available to Argos Translate.N)r   install)r   r   s     r
   install_all_packagesr   ,   s"    /1/!!# 0r   c                    [        5       nU R                  nUS:X  a  [        5         gU H0  n[        R                  " U5      nXB:X  d  M   UR                  5           g   [        S5        [        S5        g)Install package.	translatePackage not found   N)r   namer   r   argospm_package_namer   r   exit)r	   r   package_namer   r    s        r
   install_packager$   3   sg     0199L{"!3//0ABD#!))+	 "4 %&Gr   c                Z   [        5       nU H  nU R                  (       a  U R                  UR                  :w  a  M0  U R                  (       a  U R                  UR                  :w  a  M]  [        [        R                  " U5       S3UR                   SUR                   3-   5        M     g)z#Display packages from remote index.z: z -> N)r   	from_lang	from_codeto_langto_coder   r   r!   )r	   r   pkgs      r
   search_packagesr+   F   s     01!>>dnn=<<DLLCKK7++C014tCKK=12	
 "r   c                ~    [         R                  " 5       nU H"  n[        [         R                  " U5      5        M$     g)zList packages.N)r   get_installed_packagesr   r!   )r	   installed_packagesinstalled_packages      r
   list_packagesr0   U   s0     779/g**+<=> 0r   c                   [         R                  " 5       nU R                  nU HD  n[         R                  " U5      nXB:X  d  M   [         R                  " U5        [        SU 35          g   [        S5        [        S5        g)Remove installed package.zRemoved package r   r   N)r   r-   r    r!   	uninstallr   r"   )r	   r.   r#   r/   r    s        r
   remove_packager4   \   sp     77999L/++,=>/0$TF+, 0 	!"Qr   c                    [         R                  " 5       n U R                  SS9nUR                  SSS9nUR	                  [
        S9  UR                  SSS9nUR                  SS	S
S9  UR                  SSSS9  UR	                  [        S9  UR                  SSS9nUR                  SSS9  UR	                  [        S9  UR                  SSS9nUR	                  [        S9  UR                  SSS9nUR	                  [        S9  UR                  SSS9  U R                  5       n[        US5      (       a  UR                  U5        gU R                  5         g)z Run argospm command line programzAvailable commands.)helpupdatezDownloads remote package index.)callbacksearchz!Search package from remote index.z--from-langz-fz7The code for the language to translate from (ISO 639-1)z	--to-langz-tz5The code for the language to translate to (ISO 639-1)r   r   r    z5Package name, use "translate" to install all packageslistzList installed packages.remover2   zPackage namer8   N)argparseArgumentParseradd_subparsers
add_parserset_defaultsr   add_argumentr+   r$   r0   r4   
parse_argshasattrr8   
print_help)parser	subparserupdate_parsersearch_parserinstall_parserlist_parserremove_parserr	   s           r
   mainrL   k   s   $$&F%%+@%AI((8 ) M 5((: ) M F  
 T W   8))):L)MNL    9&&v4N&OKm4((8S(TM7vN;DtZ  dr   )returnzlist[AvailablePackage])r   r   )
__future__r   r<   argostranslater   r   argostranslate.packager   r   r   r   r   r$   r+   r0   r4   rL    r   r
   <module>rR      sC    "  , 3#
?$&
?(r   