ó
    áÅŸgŠ  ã                  óê   • S r SSKJr  SSKJr  SSKrSSKJr  SSKJ	r	  SSKJ
r
  SSKJr  SS	KJr  SS
KJr  SSKr\\\      " 5       rSS jr\R*                  " SS9SS j5       rSS jrSS jrSS jrg)zASubmit failure or test session information to a pastebin service.é    )Úannotations)ÚStringION)ÚIO)ÚConfig)Úcreate_terminal_writer)ÚParser)ÚStashKey)ÚTerminalReporterc           
     óT   • U R                  S5      nUR                  SSSSS SS/SS	9  g )
Nzterminal reportingz
--pastebinÚmodeÚstoreÚpastebinÚfailedÚallz3Send failed|all info to bpaste.net pastebin service)ÚmetavarÚactionÚdestÚdefaultÚchoicesÚhelp)ÚgetgroupÚ
_addoption)ÚparserÚgroups     ÚQ/var/www/blue/EV-Temp_rev04/venv/lib/python3.13/site-packages/_pytest/pastebin.pyÚpytest_addoptionr      s>   € Ø�O‰OÐ0Ó1€EØ	×ÑØØØØØØ˜5Ð!ØBð ò ó    T)Útrylastc                ó$  ^ ^• T R                   R                  S:X  at  T R                  R                  S5      nUbU  [        R
                  " S5      T R                  [        '   UR                  R                  mU U4S jnX!R                  l	        g g g )Nr   Úterminalreporterzw+bc                ó¨   >• T" U 40 UD6  [        U [        5      (       a  U R                  S5      n TR                  [           R                  U 5        g )Núutf-8)Ú
isinstanceÚstrÚencodeÚstashÚpastebinfile_keyÚwrite)ÚsÚkwargsÚconfigÚoldwrites     €€r   Ú	tee_writeÚ#pytest_configure.<locals>.tee_write.   sC   ø€ Ù˜Ñ%˜fÒ%Ü˜a¤×%Ñ%ØŸ™ Ó)�AØ—‘Ô-Ñ.×4Ñ4°QÕ7r   )
Úoptionr   ÚpluginmanagerÚ	getpluginÚtempfileÚTemporaryFiler&   r'   Ú_twr(   )r+   Útrr-   r,   s   `  @r   Úpytest_configurer6   "   st   ù€ à‡}�}×Ñ Ó&Ø×!Ñ!×+Ñ+Ð,>Ó?ˆð ‰>ä-5×-CÒ-CÀEÓ-JˆF�L‰LÔ)Ñ*Ø—v‘v—|‘|ˆHö8ð %�F‰F�Lð ð 'r   c                ó   • [         U R                  ;   aº  U R                  [            nUR                  S5        UR                  5       nUR	                  5         U R                  [         	 U R
                  R                  S5      nUR                  R                  S	 UR                  SS5        [        U5      nUR                  SU S35        g g )Nr   r    r(   Ú=ú$Sending information to Paste Servicezpastebin session-log: Ú
)r'   r&   ÚseekÚreadÚcloser0   r1   r4   Ú__dict__Ú	write_sepÚcreate_new_pasteÚ
write_line)r+   ÚpastebinfileÚ
sessionlogr5   Úpastebinurls        r   Úpytest_unconfigurerE   7   s­   € Ü˜6Ÿ<™<Ó'Ø—|‘|Ô$4Ñ5ˆà×Ñ˜!ÔØ!×&Ñ&Ó(ˆ
Ø×ÑÔØ�L‰LÔ)Ð*à×!Ñ!×+Ñ+Ð,>Ó?ˆØ�F‰F�O‰O˜GÐ$à
�‰�SÐ@ÔAÜ& zÓ2ˆØ
�‰Ð.¨{¨m¸2Ð>Õ?ð (r   c                óJ  • SSK nSSKJn  SSKJn  U SSS.nSn U" XR" U5      R                  S	5      S
9R                  5       R                  S5      nUR                  SU5      nU(       a  U SUR                  S5       3$ SU-   S-   $ ! [         a  nSU 3s SnA$ SnAff = f)z�Create a new paste using the bpaste.net service.

:contents: Paste contents string.
:returns: URL to the pasted contents, or an error message.
r   N)Ú	urlencode)ÚurlopenÚtextÚ1week)ÚcodeÚlexerÚexpiryzhttps://bpa.stÚascii)Údatar"   zbad response: zhref="/raw/(\w+)"z/show/é   zbad response: invalid format ('z'))ÚreÚurllib.parserG   Úurllib.requestrH   r%   r<   ÚdecodeÚOSErrorÚsearchr   )	ÚcontentsrQ   rG   rH   ÚparamsÚurlÚresponseÚexc_infoÚms	            r   r@   r@   H   s´   € ó Ý&Ý&à¨¸7ÑC€FØ
€Cð+á�C˜i¨Ó/×6Ñ6°wÓ?Ñ@×EÑEÓG×NÑNÈwÓWð 	ð
 	�	‰	Ð&¨Ó1€AÞØ��f˜QŸW™W Q›Z˜LÐ)Ð)à0°8Ñ;¸dÑBÐBøô ó +Ø ˜zÐ*Õ*ûð+ús   š8B	 Â	
B"ÂBÂB"ÂB"c                óF  • U R                   R                  R                  S:w  a  g SU R                  ;   aË  U R	                  SS5        U R                  S    H¥  n UR
                  R                  R                  S   R                  n[        5       n[        U R                   U5      nUR                  U5        UR                  5       n[        U5      (       d   e[!        U5      nU R#                  U SU 35        M§     g g ! [         a    U R                  U5      n N—f = f)Nr   r8   r9   éÿÿÿÿz --> )r+   r/   r   Ústatsr?   ÚlongreprÚreprtracebackÚreprentriesÚreprfilelocÚAttributeErrorÚ_getfailureheadliner   r   Ú
toterminalÚgetvalueÚlenr@   rA   )r    ÚrepÚmsgÚfileÚtwr)   rD   s          r   Úpytest_terminal_summaryrm   a   s  € Ø×Ñ×%Ñ%×.Ñ.°(Ó:ØØÐ#×)Ñ)Ó)Ø×"Ñ" 3Ð(NÔOØ#×)Ñ)¨(Ô3ˆCð@Ø—l‘l×0Ñ0×<Ñ<¸RÑ@×LÑL�ô “:ˆDÜ'Ð(8×(?Ñ(?ÀÓFˆBØ�N‰N˜2ÔØ—‘“ˆAÜ�q—6‘6ˆM�6Ü*¨1Ó-ˆKØ×'Ñ'¨3¨%¨u°[°MÐ(BÖCò 4ð *øô
 "ó @Ø&×:Ñ:¸3Ó?’ð@ús   Á-DÄD ÄD )r   r   ÚreturnÚNone)r+   r   rn   ro   )rW   zstr | bytesrn   r$   )r    r
   rn   ro   )Ú__doc__Ú
__future__r   Úior   r2   Útypingr   Ú_pytest.configr   r   Ú_pytest.config.argparsingr   Ú_pytest.stashr	   Ú_pytest.terminalr
   ÚpytestÚbytesr'   r   Úhookimplr6   rE   r@   rm   © r   r   Ú<module>r|      sn   ðá Gå "å Û Ý å !Ý 1Ý ,Ý "Ý -Û ð ˜B˜u™IÒ&Ó(Ð ô
ð ‡‚˜Ñó%ó ð%ô(@ô"Cõ2Dr   