§
    }ŠtjÍ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j        ¦  «        Z G d„ deej        ¦  «        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! "                    dg d¢¬¦  «        ej#        ej$        ddej%        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! "                    d*d+d,g¬¦  «        ej%        dfded-ed'ed(eddf
d.„¦   «         Z'e! "                    d/g d0¢¬¦  «        ddd1ej%        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! "                    d>d?d@g¬¦  «        ddej%        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! "                    dDdEdFg¬¦  «        ddej%        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! "                    dLdMdNg¬¦  «        dd1ej%        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! "                    dVdWdXg¬¦  «        dd1ej%        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! "                    d[d\g¬¦  «        ej%        dfded-ed]ee ed^¬¦  «        f         d'ed(eddfd_„¦   «         Z.e! "                    d`dadbg¬¦  «        dd1ej%        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! "                    dedfg¬¦  «        ej%        dfded-ed'ed(eddf
dg„¦   «         Z0dS )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dS )ÚDiscussionStatusÚopenÚclosedÚmergedÚdraftÚallN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   © ó    ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/huggingface_hub/cli/discussions.pyr   r   '   s'   € € € € € Ø€DØ€FØ€FØ€EØ
€C€C€Cr   r   c                   ó   — e Zd ZdZdZdZdS )ÚDiscussionKindr   Ú
discussionÚpull_requestN)r   r   r   r   r"   r#   r   r   r   r!   r!   /   s   € € € € € Ø
€CØ€JØ!€L€L€Lr   r!   r   r   z&The discussion or pull request number.)ÚhelpÚminÚbodyÚ	body_fileÚreturnc                 óÈ   — | �|�t          j        d¦  «        ‚|�Gt          |¦  «        dk    rt          j                             ¦   «         S |                     d¬¦  «        S | S )zFResolve body text from --body or --body-file (supports '-' for stdin).Nz'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   sd   € àÐ˜IÐ1ÝÔ Ð!JÑKÔKÐKØÐÝˆy‰>Œ>˜SÒ Ð Ý”9—>’>Ñ#Ô#Ð#Ø×"Ò"¨GÐ"Ñ4Ô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        ¬¦  «        D ]K}|j        t          v r|j	        |j        k    rŒ!|
 
                    |¦  «         t          |
¦  «        |k    r nŒLd„ |
D ¦   «         }t          j        |g d¢d¬	¦  «         dS )
z-List discussions and pull requests on a repo.©r<   r   r   N)r6   r9   Údiscussion_typeÚdiscussion_statusr;   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r   )r   )Ú.0Úds     r   ú
<listcomp>z#discussion_list.<locals>.<listcomp>’   s!   € Ð8Ð8Ð8 qÕ Ñ"Ô"Ð8Ð8Ð8r   )ÚnumÚtitleÚis_pull_requestr7   r9   Ú
created_atrE   )ÚheadersÚid_key)r   r   r   r   r!   r   ÚvalueÚget_repo_discussionsÚ_CLIENT_SIDE_STATUSESr7   ÚappendÚlenr   Útable)r6   r7   r8   r9   r:   r;   r<   ÚapiÚ
api_statusÚapi_discussion_typeÚdiscussionsrC   Úitemss                r   Údiscussion_listrV   S   s<  € õB ˜5Ð
!Ñ
!Ô
!€Cð Õ!Ô&Ò&Ð&Øˆ
ˆ
Ø	Õ#Ô*Ò	*Ð	*Øˆ
ˆ
àˆ
ð �~Ô!Ò!Ð!Ø"ÐÐà"œjÐà€KØ×%Ò%ØØØ+Ø$Ø”/ð &ñ ô ð ð ˆð Œ<Õ0Ð0Ð0°Q´XÀÄÒ5MÐ5MØØ×Ò˜1ÑÔÐÝˆ{ÑÔ˜uÒ$Ð$ØˆEð %ð 9Ð8¨KÐ8Ñ8Ô8€EÝ„IØØUÐUÐUØðñ ô ð ð ð r   Úinfoz'hf discussions info username/my-model 5z5hf discussions info username/my-model 5 --format jsonrE   c                 óˆ   — t          |¬¦  «        }|                     | ||j        ¬¦  «        }t          j        |¦  «         dS )z,Get info about a discussion or pull request.r>   ©r6   Údiscussion_numr;   N)r   Úget_discussion_detailsrK   r   Údict©r6   rE   r;   r<   rQ   Údetailss         r   Údiscussion_infor_   š   sQ   € õ ˜5Ð
!Ñ
!Ô
!€CØ×(Ò(ØØØ”/ð )ñ ô €Gõ
 „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"FrF   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        |¬¦  «        }	|rdnd}
|r
d|	j        › �nd}t          j        d|
› d|	j        › d	| › �|	j        |	j        |¬
¦  «         dS )z2Create a new discussion or pull request on a repo.r>   )r6   rF   Údescriptionr;   r#   zpull requestr"   zrefs/pr/NzCreated z #z on )rE   ÚurlÚref)r3   r   Úcreate_discussionrK   rE   r   Úresultrc   )r6   rF   r&   r'   r#   r;   r<   rb   rQ   r"   r8   rd   s               r   Údiscussion_createrg   ±   sº   € õX ˜T 9Ñ-Ô-€KÝ
˜5Ð
!Ñ
!Ô
!€CØ×&Ò&ØØØØ”/Ø!ð 'ñ ô €Jð *Ð;ˆ>ˆ>¨|€DØ)5Ð
?Ð
%�Z”^Ð
%Ð
%Ð
%¸4€CÝ„JÐ?˜$Ð?Ð? *¤.Ð?Ð?°gÐ?Ð?ÀZÄ^ÐYcÔYgÐmpÐqÑqÔqÐqÐqÐ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        ¬¦  «         t          j        d|› d| › �|| ¬¦  «         dS )z(Comment on a discussion or pull request.Nú)Either --body or --body-file is required.r>   ©r6   rZ   rh   r;   zCommented on #ú in ©rE   Úrepo)r3   r,   r-   r   Úcomment_discussionrK   r   rf   )r6   rE   r&   r'   r;   r<   rh   rQ   s           r   Údiscussion_commentrp   ë   s•   € õ8 ˜˜yÑ)Ô)€GØ€ÝÔ Ð!LÑMÔMÐMÝ
˜5Ð
!Ñ
!Ô
!€CØ×ÒØØØØ”/ð	 ñ ô ð õ „JÐ2 Ð2Ð2¨Ð2Ð2¸À'ÐJÑJÔJÐJÐJÐ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        ¬¦  «         t          j        d|› d|› d| › �|| |¬¦  «         dS )	z9Edit an existing comment on a discussion or pull request.Nrj   r>   )r6   rZ   rr   Únew_contentr;   zEdited comment z on #rl   )rE   rn   rr   )r3   r,   r-   r   Úedit_discussion_commentrK   r   rf   )	r6   rE   rr   r&   r'   r;   r<   rt   rQ   s	            r   Údiscussion_editrv     s¦   € õD ˜T 9Ñ-Ô-€KØÐÝÔ Ð!LÑMÔMÐMÝ
˜5Ð
!Ñ
!Ô
!€CØ×ÒØØØØØ”/ð  ñ ô ð õ „JÐD ÐDÐD°#ÐDÐD¸7ÐDÐDÈ#ÐT[ÐhrÐsÑsÔsÐsÐsÐ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          |¬¦  «        }|                     | |d||j        ¬¦  «         t          j        d|› d	| › �|| ¬
¦  «         dS )z#Close a discussion or pull request.zClose #ú on 'ú'?©rx   r>   r   ©r6   rZ   Ú
new_statusrh   r;   zClosed #rl   rm   N©r   Úconfirmr   Úchange_discussion_statusrK   rf   ©r6   rE   rh   rx   r;   r<   rQ   s          r   Údiscussion_closerƒ   D  s›   € õ: „KÐ/˜#Ð/Ð/ GÐ/Ð/Ð/°SÐ9Ñ9Ô9Ð9Ý
˜5Ð
!Ñ
!Ô
!€CØ× Ò ØØØØØ”/ð !ñ ô ð õ „JÐ,˜#Ð,Ð, 7Ð,Ð,°#¸GÐDÑDÔDÐDÐDÐ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          |¬¦  «        }|                     | |d||j        ¬¦  «         t          j        d|› d	| › �|| ¬
¦  «         dS )z+Reopen a closed discussion or pull request.zReopen #rz   r{   r|   r>   r   r}   z
Reopened #rl   rm   Nr   r‚   s          r   Údiscussion_reopenr†   m  s›   € õ: „KÐ0˜3Ð0Ð0 WÐ0Ð0Ð0°cÐ:Ñ:Ô:Ð:Ý
˜5Ð
!Ñ
!Ô
!€CØ× Ò ØØØØØ”/ð !ñ ô ð õ „JÐ.˜CÐ.Ð. WÐ.Ð.°C¸gÐFÑFÔFÐFÐFÐFr   Úrenamez9hf discussions rename username/my-model 5 "Updated title"Ú	new_titlezThe new title.c                 óž   — t          |¬¦  «        }|                     | |||j        ¬¦  «         t          j        d|› d| › �|| |¬¦  «         dS )z$Rename a discussion or pull request.r>   )r6   rZ   rˆ   r;   z	Renamed #rl   )rE   rn   rF   N)r   Úrename_discussionrK   r   rf   )r6   rE   rˆ   r;   r<   rQ   s         r   Údiscussion_renamer‹   –  sq   € õ& ˜5Ð
!Ñ
!Ô
!€CØ×ÒØØØØ”/ð	 ñ ô ð õ „JÐ-˜3Ð-Ð- GÐ-Ð-°3¸WÈIÐVÑVÔVÐVÐVÐ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        ¬¦  «         t          j        d|› d| › �|| ¬	¦  «         d
S )zMerge a pull request.zMerge #rz   r{   r|   r>   rk   zMerged #rl   rm   N)r   r€   r   Úmerge_pull_requestrK   rf   r‚   s          r   Údiscussion_merger�   ³  s˜   € õ: „KÐ/˜#Ð/Ð/ GÐ/Ð/Ð/°SÐ9Ñ9Ô9Ð9Ý
˜5Ð
!Ñ
!Ô
!€CØ×ÒØØØØ”/ð	 ñ ô ð õ „JÐ,˜#Ð,Ð, 7Ð,Ð,°#¸GÐDÑDÔDÐDÐDÐDr   Údiffz'hf discussions diff username/my-model 5c                 óÌ   — t          |¬¦  «        }|                     | ||j        ¬¦  «        }|j        rt	          j        |j        ¦  «         dS t	          j        d¦  «         dS )z Show the diff of a pull request.r>   rY   zNo diff available.N)r   r[   rK   r�   r   Útextr]   s         r   Údiscussion_diffr“   Û  st   € õ ˜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!   rM   ÚintÚDiscussionNumArgr3   Údiscussions_cliÚcommandr   r   ÚmodelrV   r_   Úboolrg   rp   rv   rƒ   r†   r‹   r�   r“   r   r   r   ú<module>r£      sM  ðð `Ð _à €€€Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à €€€à %Ð %Ð %Ð %Ð %Ð %ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð )Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,ðð ð ð ð �s˜DœIñ ô ð ð"ð "ð "ð "ð "�S˜$œ)ñ "ô "ð "ð " 7Ð+Ð ð ØØ€HØ5Øðñ ô ðôÐ ð�S˜4‘Zð ¨D°4©Kð ¸CÀ$¹Jð ð ð ð ð  �-Ð%WÐXÑXÔX€ð ×ÒØðð ð ð ñ ô ð$ 	Ôð 	ÔØØØ%œ^Øð+;ð ;Øð;àØØˆØØØGð	
ñ 	
ô 	
ð	ôð;ð ØØˆØØØBð	
ñ 	
ô 	
ð	ôð;ð$ ð%;ð& ð';ð( ð);ð* ð+;ð, 
ð-;ð ;ð ;ñô ð;ð| ×ÒØ
à1Ø?ðð ñ ô ð &œ^Øð	ð Øðà	ðð ðð ð	ð
 
ðð ð ñô ðð  ×ÒØðð ð ð ñ ô ð0 	ð 	ð 	Ø%œ^ØðA.rð .rØð.ràØØˆØØ?ð	
ñ 	
ô 	
ð	ôð.rð Øˆd‰
ØˆØØ7ð	
ñ 	
ô 	
ð	ôð.rð  Øˆt‰ØˆØØGð	
ñ 	
ô 	
ð	ôð!.rð. ØØˆØØØAð	
ñ 	
ô 	
ð	ôð/.rð> ð?.rð@ ðA.rðB 
ðC.rð .rð .rñô ð.rðb ×ÒØàSØCðð ñ ô ð  	ð 	Ø%œ^Øð%Kð KØðKà	ðKð Øˆd‰
ØˆØØ8ð	
ñ 	
ô 	
ð	ôðKð Øˆt‰ØˆØØCð	
ñ 	
ô 	
ð	ôðKð" ð#Kð$ ð%Kð& 
ð'Kð Kð Kñô ðKðD ×ÒØ
àRØMðð ñ ô ð, 	ð 	Ø%œ^Øð1&tð &tØð&tà	ð&tð ØØˆØ_ð	
ñ 	
ô 	
ð	ôð&tð Øˆd‰
ØˆØØ<ð	
ñ 	
ô 	
ð	ôð&tð  Øˆt‰ØˆØØGð	
ñ 	
ô 	
ð	ôð!&tð. ð/&tð0 ð1&tð2 
ð3&tð &tð &tñô ð&tðR ×ÒØà2ØSðð ñ ô ð  	ð 	Ø%œ^Øð'Eð EØðEà	ðEð Øˆd‰
ØˆØØ<ð	
ñ 	
ô 	
ð	ôðEð 
ØØˆØØØ,ð	
ñ 	
ô 	
ð	ô
ðEð$ ð%Eð& ð'Eð( 
ð)Eð Eð Eñô ðEðD ×ÒØà3Ødðð ñ ô ð  	ð 	Ø%œ^Øð'Gð GØðGà	ðGð Øˆd‰
ØˆØØ>ð	
ñ 	
ô 	
ð	ôðGð 
ØØˆØØØ,ð	
ñ 	
ô 	
ð	ô
ðGð$ ð%Gð& ð'Gð( 
ð)Gð Gð Gñô ðGðD ×ÒØàCðð ñ ô ð &œ^ØðWð WØðWà	ðWð ØØˆØ!ð	
ñ 	
ô 	
ð	ôðWð ðWð ðWð 
ðWð Wð Wñô ðWð. ×ÒØà2ØOðð ñ ô ð  	ð 	Ø%œ^Øð'Eð EØðEà	ðEð Øˆd‰
ØˆØØ<ð	
ñ 	
ô 	
ð	ôðEð 
ØØˆØØØ,ð	
ñ 	
ô 	
ð	ô
ðEð$ ð%Eð& ð'Eð( 
ð)Eð Eð Eñô ðEðB ×ÒØ
à1ðð ñ ô ð &œ^Øð	'ð 'Øð'à	ð'ð ð'ð ð	'ð
 
ð'ð 'ð 'ñô ð'ð 'ð 'r   