
    9iO                     p   S r SSKrSSKrSSKrSSKrSSKJr  SSKJr  SSK	J
r
Jr  SSKJr  SSKJr  SSKJrJrJrJrJr  SS	KJrJr  S
/r " S S\R4                  5      rS r\R:                  " S\R:                  " S5      S9r\R>                  RA                  \ S35      r!S r"S r#\$S:X  a  \#" 5         gg)u\   
命令行

Authors: xiangyiqing(xiangyiqing@baidu.com),suoyi@baidu.com
Date:    2024/03/05
    N)log)pipeline)model_file_downloadfile_download)snapshot_download)convert_patterns)DEFAULT_MAX_WORKERSREPO_TYPE_SUPPORTREPO_TYPE_MODELDEFAULT_DATASET_REVISIONREPO_TYPE_DATASET)upload_fileupload_foldermainc                       \ rS rSrSrSrg)CustomHelpFormatter    u   
自定义帮助信息格式
 N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       T/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/aistudio_sdk/cmdline.pyr   r       s     	r   r   c            
         [         R                  " 5         [        R                  " S[        S9n U R                  SSS9nUR                  SSS9nUR                  S	S
[        SSSS9  UR                  SS[        SS/ SQSS9  UR                  SSS9nUR                  5       nUR                  SSS9nUR                  SS[        SSSS9  UR                  SS[        SSS 9  UR                  S!S"[        SS#S 9  UR                  S$S%[        SS&/ S'QS(S9  UR                  S)S*[        SS+S+/S,S9  UR                  S-S.[        SS// S0QS1S9  UR                  S2S3[        SS4S4S5/S6S9  UR                  S7S8S9[        S/ S:S;9  UR                  S<S=S9nUR                  S>[        S?SS@SA9  UR                  SS[        SSSBS9  UR                  SCSD[        SSSES9  UR                  SFSGS9nUR                  5       nUR                  SSGS9n	U	R                  SH[        S@SI9  U	R                  SJSKSLSMSN9  UR                  SSOS9n
U
R                  SP[        SQSI9  U
R                  SSSRSS9nUR                  STSUS9nUR                  SV[        S?SSWSA9  UR                  SXSYS9nUR                  SZ[        S[SI9  UR                  S\[        S]SI9  S^S_S`SaSbScSdSeSf.nUR                  SgSh[        Si9nSjSkR                  Sl UR                  5        5       5      -   nUR                  SmS9nUR                  SnSo[        Si9nUR                  SS[        SSpS 9  UR                  SJSq[        SSrSsSt9  UR                  SSuSLSvSN9  UR                  SSw[        S[        UR                  5       5      SxUSy9  UR                  S)Sz[        SS{S 9  UR                  S|S}[        Si9nUR                  S~S[        SSS 9  UR                  SJSq[        SSrSsSt9  UR                  SS[        Si9nUR                  S[        SSI9  UR                  S[        SSI9  UR                  S[        SSS9  UR                  S[        SSS9  UR                  S[        SSSS9  UR                  SSS[        SS9  UR                  SS[        SSS9  UR                  S
[        SSS9  UR                  S[        [        SS9  UR                  SS[        Si9nUR                  S[        SSI9  UR                  S\[        S?SSSA9  UR                  S[        S?SSSA9  UR                  S[        [         SS9  UR                  SS[        SS9  UR                  SS[        SS9  UR                  S[        SSS9  UR                  S
[        SSS9  UR                  S[        [#        S[$        R&                  " 5       S-   5      SS9  U $ )u   
构建CLI Parser
PROG)progformatter_classzAI Studio CLI SDKcommand)helpdestconfigu   首次使用AI Studio CLI管理任务时, 需要先使用AI Studio账号的访问令牌进行身份认证。            一次认证后，再次使用时无需认证。)r"   z-tz--tokenF u   AI Studio账号的访问令牌)typerequireddefaultr"   z-lz--log)infodebugr%   u   日志级别)r&   r'   r(   choicesr"   submitu   提交SDK产线任务jobz-nz--nameTsummit_nameu   产线任务名称)r&   r'   r#   r"   z-pz--pathuE   代码包本地路径(文件夹)，要求文件总体积不超过50MB)r&   r'   r"   z-cz--cmdu   任务启动命令z-ez--envpaddle2.6_py3.10)zpaddle2.4_py3.7zpaddle2.5_py3.10r/   zpaddle3.0_py3.10u*   飞桨框架版本, 默认paddle2.6_py3.10z-dz--devicev100u   硬件资源, 默认v100z-gz--gpus1)         u   gpu数量, 默认单卡z-payz	--paymentacoincouponu?   计费方式: * acoin-A币 * coupon-算力点. 默认使用A币z-mz--mount_datasetappendu-   数据集挂载, 单个任务最多挂载3个)actionr&   r'   r(   r"   jobsu   查询SDK产线任务query_pipeline_id?u   产线id)r&   nargsr(   r"   u   产线名称z-sz--statusu   状态stopu   停止SDK产线任务stop_pipeline_id)r&   r"   z-fz--force
store_trueu!   强制停止，无需二次确认)r8   r"   u   管理SDK产线任务job_idu   任务IDu   job子命令)r#   r'   r"   lsu4   查询某个 job 的 output 目录下文件夹内容	directoryu   输出目录路径cpu7   下载某个 job 的 output 目录下的文件到本地result_fileu   结果文件路径
local_pathu   本地保存路径u   公共领域 (CC0)u   署名 (CC BY 4.0)u>   署名-非商业性使用-相同方式共享 (CC BY-NC-SA 4.0)u(   署名-相同方式共享 (CC BY-SA 4.0)u   署名-禁止演绎 (CC-BY-ND)u   自由软件基金会 (GPL 2)u   署名-允许演绎 (ODC-BY)u   其他)r2         r3            r4   datasetu?   管理数据集，此命令不在支持，请使用新的命令)r"   r    uo   数据集许可协议的ID，仅在设置public后生效。默认为1 (公共领域 CC0)。
可选项包括：

c              3   6   #    U  H  u  pS U SU 3v   M     g7f)z  z: Nr   ).0kvs      r   	<genexpr>init.<locals>.<genexpr>
  s      .aI`A3b}I`s   u   数据集操作createu   创建数据集u   数据集名称z--files+u'   本地文件路径，支持多个文件)r&   r'   r<   r"   z--publicu   是否公开数据集z	--licenser2   )r&   r'   r+   r(   r"   z--descriptionu   数据集描述addu   上传数据集文件z-idz--idu   数据集iddownloadu   下载文件z--modelu!   模型ID，例如 myname/myrepoidz	--datasetzkThe id of the dataset to be downloaded. For download, the id of either a model or dataset must be provided.z
--revisionNzRevision of the entity.)r&   r(   r"   z--local_dirzNFile will be downloaded to local location specified bylocal_dir, in this case.files*zmSpecify relative path to the repository file(s) to download.(e.g 'tokenizer.json', 'dir/decoder_model.onnx').)r&   r(   r<   r"   z	--includezEGlob patterns to match files to download.Ignored if file is specified)r<   r(   r&   r"   z	--excludezLGlob patterns to exclude from files to download.Ignored if file is specified)r<   r&   r(   r"   zA User Access Tokenz--max-workersz0The maximum number of workers to download files.uploadu   上传文件repo_idz;The ID of the repo to upload to (e.g. `username/repo-name`)zTOptional, Local path to the file or folder to upload. Defaults to current directory.path_in_repozfOptional, Path of the file or folder in the repo. Defaults to the relative path of the file or folder.z--repo-typezPType of the repo to upload to (e.g. `dataset`, `model`). Defaults to be `model`.)r+   r(   r"   z'Glob patterns to match files to upload.)r<   r&   r"   z.Glob patterns to exclude from files to upload.z--commit-messagez,The message of commit. Default to be `None`.r4   r3   z1The number of workers to use for uploading files.)r   cli_logargparseArgumentParserr   add_subparsers
add_parseradd_argumentstrintjoinitemslistkeysr	   r
   r   minos	cpu_count)parsersubparser_aistudior$   r,   subparser_submit
submit_jobr9   r=   subparser_stopstop_jobr-   subparser_jobjob_lsjob_cplicense_mappingrK   license_helpdatasets_createrS   rU   rV   rY   s                         r   initrw   &   s    KKM$$&BUVF..  /   **> + F
 i-   g%    **$ + F ,,. ",,$ - J h!   hT	   g!	   g"_9   j'   h&   (#N   <   (($ ) D 	   	h   	j   (($ ) D ((*N (($ ) H   
 i0   
'
'$ ( C    &&I>&ZM %%C & F !   %%F & F !  
 !    K5+*)	O !++N+ , G#%)YY.aI^I^I`.a%ab 
 ,,2C,DO ''+ ( F
 h	   i6   j$  
 k_))+,   o	   
$
$$+ % C v	   i6   ",,+ - H
 0  
 D  E
 &	  (
 (	  ) A  B ,  - ,  - "	   #?	  A  **+ + -F
 J  L
 Z   l   !_	   6	  8
 =	  ?
 ;	  =
 "	   ALLNQ&(@  B Mr   AISTUDIO_CACHE_HOMEHOMEr(   z/.cache/aistudio/.auth/tokenc                     [        U 5        [        [        S5       nUR                  [	        U 5      5        SSS5        [
        R                  " [        S5        g! , (       d  f       N*= f)z
save to separate location
wNi  )printopen
TOKEN_FILEwriterb   ri   chmod)tokenfs     r   
save_tokenr     sC     
%L	j#	!	E
 
HHZ 
	s   A
A)c                     [        5       n [        R                  SS n[        U 5         U R	                  U5      n[        USS5      S:X  Ga   UR                  (       d   S5       eUR                  R                  S5      S:X  d   S5       eUR                  R                  S5      S   nUR                  U l        UR                  c2  [        R                  R                  U5      (       a  X l	        X l        GOUR                  c2  [        R                  R                  U5      (       a  X l	        S	U l        OUR                  c  [        S
U S35      eUR                  cn  [        R                  R                  UR                  5      (       a@  UR                  U l	        [        R                  R!                  UR                  5      U l        OHUR                  c  UR                  U l	        SU l        O"UR                  U l	        UR                  U l        [        R                  R                  U R                  5      (       aK  [#        U R                  U R                  U R                  UR$                  UR&                  UR(                  S9  O[        R                  R                  U R                  5      (       a~  [+        U R                  U R                  U R                  UR&                  UR$                  [-        UR.                  5      [-        UR0                  5      UR2                  UR(                  S9	  O[        U R                   S35      e[        SU R                   35        g[5        US5      (       Ga:  UR6                  (       Ga(  [9        UR:                  5      S:X  aC  [=        UR6                  UR:                  S   UR>                  UR@                  UR(                  S9  g[9        UR:                  5      S:  aK  [C        UR6                  UR@                  UR>                  UR:                  UR2                  UR(                  S9  g[C        UR6                  UR@                  UR>                  [-        UR.                  5      [-        UR0                  5      UR2                  UR(                  S9  g[5        US5      (       Ga]  URD                  (       GaK  UR@                  (       a  UR@                  O[F        n[9        UR:                  5      S:X  a>  [I        URD                  UR:                  S   UR>                  U[J        UR(                  S9  O[9        UR:                  5      S:  aA  [C        URD                  UUR>                  UR:                  UR2                  UR(                  S9  O][C        URD                  UUR>                  [-        UR.                  5      [-        UR0                  5      UR2                  UR(                  S9  [        SURD                   S35        gSU;   a  [L        RN                  " U5        gSU;   a  [L        RP                  " U5        gSU;   a  [L        RR                  " U5        gSU;   ao  URT                  (       dG  [V        RX                  " SSS 9(       d  [Z        R\                  " S!5        g[Z        R\                  " S"5        [L        R^                  " U5        gS#U;   a  [L        R`                  " U5        gS$U;   a  S%U;   a  [L        Rb                  " U5        gS&U;   a3  S'U;   a-  [Z        Rd                  " S(5        [L        Rf                  " U5        gS)U;   a3  S'U;   a-  [Z        Rd                  " S(5        [L        Rh                  " U5        g[Z        R\                  " S*5        g!    g= f)+u	   CLI入口r2   Nr!   rY   z`repo_id` is required/z1repo_id should be in format of username/repo-name.'zD' is not a local file or folder. Please set `local_path` explicitly.r%   )path_or_fileobjr[   rZ   	repo_typecommit_messager   )	rZ   folder_pathr[   r   r   allow_patternsignore_patternsmax_workersr   z is not a valid local pathzFinished uploading to modelr   )	local_dirrevisionr   )rZ   r   r   r   r   r   )rZ   r   r   r   r   r   r   rK   )r   r   r   r   z&
Successfully Downloaded from dataset z.
r   r.   r:   r>   zDo you want to continue?Frz   zAborted.z
Confirmed.rB   rD   rE   namerW   z&This command is not supported any moreidu   无效的命令)5rw   sysargvr}   
parse_argsgetattrrZ   countsplitrE   ri   pathisfiler[   isdir
ValueErrorbasenamer   r   r   r   r   r   includeexcluder   hasattrr   lenrW   r   r   r   r   rK   r   r   r   r   
set_configrS   queryforceclickconfirmr   r)   r=   list_output_filesdownload_output_fileerrorcreate_datasetadd_file)rk   args	repo_namedataset_revisions       r   r   r     s   VF88AB<D	TF  & tY%1||444|||!! 	KJ	K ++C04	 ??"rww~~i'@'@ )"+__$y)A)A !*"%F__$ I;bc  &277>>,! ,! !%F"$''"2"24??"CF& !%F"$F !%F"&"3"3F 77>>&++,, & 1 1#00..#22jj WW]]6,,--"--#00#22../= 0 > ,,jj
  1 122LMNN&v~~&678	w		TZZZtzz?a



1..jj 

 

..#zz ,,jj 

../= 0 > ,,jj 
y	!	!dlll15D\tzz?a

1..)+jj 

 )..#zz ,,jj )../= 0 > ,,jj 	5dll^3G	
 
DD!	$			$t	t	#zz==!;UK$HH\"d		""4(	$	<4#7%%d+	4GtO		:;%	'T/		:;$"#As   ^> >___main__)%r   r   r]   r   ri   aistudio_sdkr   aistudio_sdk.sdkr   aistudio_sdk.file_downloadr   r   aistudio_sdk.snapshot_downloadr   aistudio_sdk.utils.utilr   aistudio_sdk.configr	   r
   r   r   r   aistudio_sdk.hubr   r   __all__RawTextHelpFormatterr   rw   getenv
cache_homer   
expanduserr   r   r   r   r   r   r   <module>r      s       	  % I < 4N N 7 
	(77 	l\ YY,bii6GH
WW:,.J KL
 g$R zF r   