Ë
    ÂÓ^jÍ6  ã                   óÞ  — d Z ddlZddlZddlmZ ddlmZ ddlZddlm	Z	 ddl
mZmZmZmZmZmZmZmZ ddlmZmZ dd	lmZmZ  G d
„ deej4                  «      Z G d„ deej4                  «      ZddhZee edd¬«      f   Zdedz  dedz  dedz  fd„Z  ed¬«      Z!e!jE                  dg d¢¬«      ejF                  ejH                  ddejJ                  dfdedee eddd ¬«      f   d!ee ed"d#d$¬«      f   d%ed&ed'ed(eddfd)„«       Z&e!jE                  d*d+d,g¬«      ejJ                  dfded-ed'ed(eddf
d.„«       Z'e!jE                  d/g d0¢¬«      ddd1ejJ                  dfded2ee ed3d4¬«      f   deedz   ed5d6¬«      f   deedz   ed7d8¬«      f   d9ee( ed:d;d<¬«      f   d'ed(eddfd=„«       Z)e!jE                  d>d?d@g¬«      ddejJ                  dfded-edeedz   ed5dA¬«      f   deedz   ed7dB¬«      f   d'ed(eddfdC„«       Z*e!jE                  dDdEdFg¬«      ddejJ                  dfded-edGee edH¬«      f   deedz   ed5dI¬«      f   deedz   ed7dJ¬«      f   d'ed(eddfdK„«       Z+e!jE                  dLdMdNg¬«      dd1ejJ                  dfded-ed>eedz   edOdP¬«      f   dQee( edRdSdT¬«      f   d'ed(eddfdU„«       Z,e!jE                  dVdWdXg¬«      dd1ejJ                  dfded-ed>eedz   edOdY¬«      f   dQee( edRdSdT¬«      f   d'ed(eddfdZ„«       Z-e!jE                  d[d\g¬«      ejJ                  dfded-ed]ee ed^¬«      f   d'ed(eddfd_„«       Z.e!jE                  d`dadbg¬«      dd1ejJ                  dfded-ed>eedz   edOdc¬«      f   dQee( edRdSdT¬«      f   d'ed(eddfdd„«       Z/e!jE                  dedfg¬«      ejJ                  dfded-ed'ed(eddf
dg„«       Z0y)hzYContains commands to interact with discussions and pull requests on the Hugging Face Hub.é    N)ÚPath)Ú	Annotated)Ú	constantsé   )Ú	AuthorOptÚLimitOptÚ	RepoIdArgÚRepoTypeÚRepoTypeOptÚTokenOptÚ
get_hf_apiÚtyper_factory)ÚArgumentÚOption)Ú_dataclass_to_dictÚoutc                   ó    — e Zd ZdZdZdZdZdZy)ÚDiscussionStatusÚopenÚclosedÚmergedÚdraftÚallN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   © ó    új/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/huggingface_hub/cli/discussions.pyr   r   '   s   „ Ø€DØ€FØ€FØ€EØ
�Cr   r   c                   ó   — e Zd ZdZdZdZy)ÚDiscussionKindr   Ú
discussionÚpull_requestN)r   r   r   r   r"   r#   r   r   r   r!   r!   /   s   „ Ø
€CØ€JØ!�Lr   r!   r   r   z&The discussion or pull request number.)ÚhelpÚminÚbodyÚ	body_fileÚreturnc                 ó¸   — | �|�t        j                  d«      ‚|�>t        |«      dk(  rt        j                  j                  «       S |j                  d¬«      S | S )zFResolve body text from --body or --body-file (supports '-' for stdin).z'Cannot use both --body and --body-file.ú-zutf-8)Úencoding)ÚclickÚBadParameterÚstrÚsysÚstdinÚreadÚ	read_text)r&   r'   s     r   Ú
_read_bodyr3   E   s[   € àÐ˜IÐ1Ü× Ñ Ð!JÓKÐKØÐÜˆy‹>˜SÒ Ü—9‘9—>‘>Ó#Ð#Ø×"Ñ"¨GÐ"Ó4Ð4Ø€Kr   z0Manage discussions and pull requests on the Hub.)r$   z	list | ls)z%hf discussions list username/my-modelzIhf discussions list username/my-model --kind pull_request --status mergedzFhf discussions list username/my-dataset --type dataset --status closedzBhf discussions list username/my-model --author alice --format json)Úexamplesé   Úrepo_idÚstatusz-sz--statusz4Filter by status (open, closed, merged, draft, all).Úkindz-kz--kindz/Filter by kind (discussion, pull_request, all).ÚauthorÚlimitÚ	repo_typeÚtokenc                 ó  — t        |¬«      }|t        j                  k(  rd}n|t        j                  k(  rd}nd}|t        j
                  k(  rd}	n|j                  }	g }
|j                  | ||	||j                  ¬«      D ]O  }|j                  t        v r|j                  |j                  k7  rŒ/|
j                  |«       t        |
«      |k\  sŒO n |
D �cg c]  }t        |«      ‘Œ }}t        j                  |g d¢d¬«       yc c}w )	z-List discussions and pull requests on a repo.©r<   r   r   N)r6   r9   Údiscussion_typeÚdiscussion_statusr;   )ÚnumÚtitleÚis_pull_requestr7   r9   Ú
created_atrA   )ÚheadersÚid_key)r   r   r   r   r!   r   ÚvalueÚget_repo_discussionsÚ_CLIENT_SIDE_STATUSESr7   ÚappendÚlenr   r   Útable)r6   r7   r8   r9   r:   r;   r<   ÚapiÚ
api_statusÚapi_discussion_typeÚdiscussionsÚdÚitemss                r   Údiscussion_listrS   S   s	  € ôB ˜5Ô
!€Cð Ô!×&Ñ&Ò&Ø‰
Ø	Ô#×*Ñ*Ò	*Ø‰
àˆ
ð Œ~×!Ñ!Ò!Ø"Ñà"Ÿj™jÐà€KØ×%Ñ%ØØØ+Ø$Ø—/‘/ð &ó ò ˆð �<‰<Ô0Ñ0°Q·X±XÀÇÁÒ5MØØ×Ñ˜1ÔÜˆ{Ó˜uÓ$Ùðð -8Ö8 qÔ Õ"Ð8€EÐ8Ü‡I�IØÚUØöùò 9s   ÃDÚinfoz'hf discussions info username/my-model 5z5hf discussions info username/my-model 5 --format jsonrA   c                 ó‚   — t        |¬«      }|j                  | ||j                  ¬«      }t        j                  |«       y)z,Get info about a discussion or pull request.r>   ©r6   Údiscussion_numr;   N)r   Úget_discussion_detailsrG   r   Údict©r6   rA   r;   r<   rM   Údetailss         r   Údiscussion_infor\   š   s>   € ô ˜5Ô
!€CØ×(Ñ(ØØØ—/‘/ð )ó €Gô
 ‡H�HˆWÕr   Úcreate)z<hf discussions create username/my-model --title "Bug report"zWhf discussions create username/my-model --title "Feature request" --body "Please add X"zIhf discussions create username/my-model --title "Fix typo" --pull-requestzUhf discussions create username/my-dataset --type dataset --title "Data quality issue"FrB   z--titlez,The title of the discussion or pull request.z--bodyz$The description (supports Markdown).z--body-filez4Read the description from a file. Use '-' for stdin.r#   z--pull-requestz--prz.Create a pull request instead of a discussion.c                 ó&  — t        ||«      }t        |¬«      }|j                  | |||j                  |¬«      }	|rdnd}
|rd|	j                  › �nd}t        j                  d|
› d|	j                  › d	| › �|	j                  |	j                  |¬
«       y)z2Create a new discussion or pull request on a repo.r>   )r6   rB   Údescriptionr;   r#   zpull requestr"   zrefs/pr/NzCreated z #z on )rA   ÚurlÚref)r3   r   Úcreate_discussionrG   rA   r   Úresultr`   )r6   rB   r&   r'   r#   r;   r<   r_   rM   r"   r8   ra   s               r   Údiscussion_createrd   ±   s™   € ôX ˜T 9Ó-€KÜ
˜5Ô
!€CØ×&Ñ&ØØØØ—/‘/Ø!ð 'ó €Jñ *‰>¨|€DÙ)5ˆH�Z—^‘^Ð$Ñ
%¸4€CÜ‡J�J�˜$˜˜r *§.¡.Ð!1°°g°YÐ?ÀZÇ^Á^ÐYc×YgÑYgÐmpÖqr   ÚcommentzIhf discussions comment username/my-model 5 --body "Thanks for reporting!"z9hf discussions comment username/my-model 5 --body "LGTM!"z%The comment text (supports Markdown).z0Read the comment from a file. Use '-' for stdin.c                 óÜ   — t        ||«      }|€t        j                  d«      ‚t        |¬«      }|j	                  | |||j
                  ¬«       t        j                  d|› d| › �|| ¬«       y)z(Comment on a discussion or pull request.Nú)Either --body or --body-file is required.r>   ©r6   rW   re   r;   zCommented on #ú in ©rA   Úrepo)r3   r,   r-   r   Úcomment_discussionrG   r   rc   )r6   rA   r&   r'   r;   r<   re   rM   s           r   Údiscussion_commentrm   ë   ss   € ô8 ˜˜yÓ)€GØ€Ü× Ñ Ð!LÓMÐMÜ
˜5Ô
!€CØ×ÑØØØØ—/‘/ð	 ô ô ‡J�J� ˜u D¨¨	Ð2¸À'ÖJr   ÚeditzHhf discussions edit username/my-model 5 abc123 --body "Updated comment."zChf discussions edit username/my-model 5 abc123 --body-file fixed.mdÚ
comment_idzLThe ID of the comment to edit (see 'hf discussions info ... --format json').z)The new comment text (supports Markdown).z4Read the new comment from a file. Use '-' for stdin.c                 óæ   — t        ||«      }|€t        j                  d«      ‚t        |¬«      }|j	                  | ||||j
                  ¬«       t        j                  d|› d|› d| › �|| |¬«       y)	z9Edit an existing comment on a discussion or pull request.Nrg   r>   )r6   rW   ro   Únew_contentr;   zEdited comment z on #ri   )rA   rk   ro   )r3   r,   r-   r   Úedit_discussion_commentrG   r   rc   )	r6   rA   ro   r&   r'   r;   r<   rq   rM   s	            r   Údiscussion_editrs     s‚   € ôD ˜T 9Ó-€KØÐÜ× Ñ Ð!LÓMÐMÜ
˜5Ô
!€CØ×ÑØØØØØ—/‘/ð  ô ô ‡J�J�  ¨E°#°°d¸7¸)ÐDÈ#ÐT[ÐhrÖsr   Úclosez(hf discussions close username/my-model 5zIhf discussions close username/my-model 5 --comment "Closing as resolved."z	--commentz)An optional comment to post when closing.Úyesz--yesz-yzSkip confirmation prompt.c                 óÔ   — t        j                  d|› d| › d�|¬«       t        |¬«      }|j                  | |d||j                  ¬«       t        j
                  d|› d	| › �|| ¬
«       y)z#Close a discussion or pull request.zClose #ú on 'ú'?©ru   r>   r   ©r6   rW   Ú
new_statusre   r;   zClosed #ri   rj   N©r   Úconfirmr   Úchange_discussion_statusrG   rc   ©r6   rA   re   ru   r;   r<   rM   s          r   Údiscussion_closer€   D  sp   € ô: ‡K�K�'˜#˜˜e G 9¨BÐ/°SÕ9Ü
˜5Ô
!€CØ× Ñ ØØØØØ—/‘/ð !ô ô ‡J�J�˜#˜˜d 7 )Ð,°#¸GÖDr   Úreopenz)hf discussions reopen username/my-model 5zZhf discussions reopen username/my-model 5 --comment "Reopening for further investigation."z+An optional comment to post when reopening.c                 óÔ   — t        j                  d|› d| › d�|¬«       t        |¬«      }|j                  | |d||j                  ¬«       t        j
                  d|› d	| › �|| ¬
«       y)z+Reopen a closed discussion or pull request.zReopen #rw   rx   ry   r>   r   rz   z
Reopened #ri   rj   Nr|   r   s          r   Údiscussion_reopenrƒ   m  sp   € ô: ‡K�K�(˜3˜%˜u W I¨RÐ0°cÕ:Ü
˜5Ô
!€CØ× Ñ ØØØØØ—/‘/ð !ô ô ‡J�J�˜C˜5  W IÐ.°C¸gÖFr   Úrenamez9hf discussions rename username/my-model 5 "Updated title"Ú	new_titlezThe new title.c                 ó˜   — t        |¬«      }|j                  | |||j                  ¬«       t        j                  d|› d| › �|| |¬«       y)z$Rename a discussion or pull request.r>   )r6   rW   r…   r;   z	Renamed #ri   )rA   rk   rB   N)r   Úrename_discussionrG   r   rc   )r6   rA   r…   r;   r<   rM   s         r   Údiscussion_renamerˆ   –  sR   € ô& ˜5Ô
!€CØ×ÑØØØØ—/‘/ð	 ô ô ‡J�J�˜3˜%˜t G 9Ð-°3¸WÈIÖVr   Úmergez(hf discussions merge username/my-model 5zEhf discussions merge username/my-model 5 --comment "Merging, thanks!"z)An optional comment to post when merging.c                 óÒ   — t        j                  d|› d| › d�|¬«       t        |¬«      }|j                  | |||j                  ¬«       t        j
                  d|› d| › �|| ¬	«       y
)zMerge a pull request.zMerge #rw   rx   ry   r>   rh   zMerged #ri   rj   N)r   r}   r   Úmerge_pull_requestrG   rc   r   s          r   Údiscussion_mergerŒ   ³  sm   € ô: ‡K�K�'˜#˜˜e G 9¨BÐ/°SÕ9Ü
˜5Ô
!€CØ×ÑØØØØ—/‘/ð	 ô ô ‡J�J�˜#˜˜d 7 )Ð,°#¸GÖDr   Údiffz'hf discussions diff username/my-model 5c                 óÚ   — t        |¬«      }|j                  | ||j                  ¬«      }|j                  r t	        j
                  |j                  «       yt	        j
                  d«       y)z Show the diff of a pull request.r>   rV   zNo diff available.N)r   rX   rG   r�   r   ÚtextrZ   s         r   Údiscussion_diffr�   Û  sV   € ô ˜5Ô
!€CØ×(Ñ(ØØØ—/‘/ð )ó €Gð
 ‡|‚|Ü�‰�—‘Õä�‰Ð%Õ&r   )1Ú__doc__Úenumr/   Úpathlibr   Útypingr   r,   Úhuggingface_hubr   Ú
_cli_utilsr   r   r	   r
   r   r   r   r   Ú
_frameworkr   r   Ú_outputr   r   r.   ÚEnumr   r!   rI   ÚintÚDiscussionNumArgr3   Údiscussions_cliÚcommandr   r   ÚmodelrS   r\   Úboolrd   rm   rs   r€   rƒ   rˆ   rŒ   r�   r   r   r   ú<module>r       sF  ðñ `ã Û 
Ý Ý ã å %÷	÷ 	ó 	÷ )ß ,ô�s˜DŸI™Iô ô"�S˜$Ÿ)™)ô "ð " 7Ð+Ð ð ØÙØ5ØôðñÐ ð�S˜4‘Zð ¨D°4©Kð ¸CÀ$¹Jó ñ  Ð%WÔX€ð ×ÑØòð ó ð$ 	×Ñð 	×ÑØØØ%Ÿ^™^Øñ+;Øð;àØÙØØØGô	
ð	ñð;ð ØÙØØØBô	
ð	ñð;ð$ ð%;ð& ð';ð( ð);ð* ð+;ð, 
ò-;óð;ð| ×ÑØ
à1Ø?ðð ó ð &Ÿ^™^Øñ	Øðà	ðð ðð ð	ð
 
òóðð  ×ÑØòð ó ð0 	ð 	ð 	Ø%Ÿ^™^ØñA.rØð.ràØÙØØ?ô	
ð	ñð.rð Øˆd‰
ÙØØ7ô	
ð	ñð.rð  Øˆt‰ÙØØGô	
ð	ñð!.rð. ØÙØØØAô	
ð	ñð/.rð> ð?.rð@ ðA.rðB 
òC.róð.rðb ×ÑØàSØCðð ó ð  	ð 	Ø%Ÿ^™^Øñ%KØðKà	ðKð Øˆd‰
ÙØØ8ô	
ð	ñðKð Øˆt‰ÙØØCô	
ð	ñðKð" ð#Kð$ ð%Kð& 
ò'KóðKðD ×ÑØ
àRØMðð ó ð, 	ð 	Ø%Ÿ^™^Øñ1&tØð&tà	ð&tð ØÙØ_ô	
ð	ñð&tð Øˆd‰
ÙØØ<ô	
ð	ñð&tð  Øˆt‰ÙØØGô	
ð	ñð!&tð. ð/&tð0 ð1&tð2 
ò3&tóð&tðR ×ÑØà2ØSðð ó ð  	ð 	Ø%Ÿ^™^Øñ'EØðEà	ðEð Øˆd‰
ÙØØ<ô	
ð	ñðEð 
ØÙØØØ,ô	
ð	ñ
ðEð$ ð%Eð& ð'Eð( 
ò)EóðEðD ×ÑØà3Ødðð ó ð  	ð 	Ø%Ÿ^™^Øñ'GØðGà	ðGð Øˆd‰
ÙØØ>ô	
ð	ñðGð 
ØÙØØØ,ô	
ð	ñ
ðGð$ ð%Gð& ð'Gð( 
ò)GóðGðD ×ÑØàCðð ó ð &Ÿ^™^ØñWØðWà	ðWð ØÙØ!ô	
ð	ñðWð ðWð ðWð 
òWóðWð. ×ÑØà2ØOðð ó ð  	ð 	Ø%Ÿ^™^Øñ'EØðEà	ðEð Øˆd‰
ÙØØ<ô	
ð	ñðEð 
ØÙØØØ,ô	
ð	ñ
ðEð$ ð%Eð& ð'Eð( 
ò)EóðEðB ×ÑØ
à1ðð ó ð &Ÿ^™^Øñ	'Øð'à	ð'ð ð'ð ð	'ð
 
ò'óñ'r   