ó
    6°hÙ  ã                  óà   • S 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JrJrJrJrJrJr  SSKJrJr  SSKJr  0 r\R2                  " \5      r\" S	S
SS9  \" S	SSS9  \" S	SSS9  S rSS jrg)aw  changeset_published is a hook to send a mail when an
existing draft changeset is moved to the public phase.

Correct message threading requires the same messageidseed to be used for both
the original notification and the new mail.

Usage:
  [notify]
  messageidseed = myseed

  [hooks]
  txnclose-phase.changeset_published =     python:hgext.hooklib.changeset_published.hook
é    )ÚannotationsN)Ú_)ÚencodingÚerrorÚ	formatterÚ
logcmdutilÚmailÚpycompatÚ	registrar)ÚdateutilÚ
stringutilé   )Únotifyó   notify_publishedó   domain)Údefaultó   messageidseedó   templatesA   Subject: changeset published

This changeset has been published.
c                óž  • U R                  SS5      =(       d    U R                  SS5      nU R                  SS5      =(       d    U R                  SS5      nU R                  SS5      n[        R                  " U5      n[        R                  " XU5      nU R                  5         [        R                  " XS5      n[        5       n	UR                   H^  u  p¦Uc  U	R                  U
5        M  UR                  SXbR                  5       5      n[        U5      (       d  MM  U	R                  U
5        M`     [        U	5      S:X  a  U R                  S	5        g UR                  UUR!                  5       U R                  S
S5      UR"                  UR"                  S9  U R%                  5       n [&        R(                  " U5      n[        R6                  " X#U5      US'   [        R6                  " X#US-   5      US'   [8        R:                  " [<        R>                  " SS95      US'   US   (       du  U R                  SS5      =(       d    U RA                  5       nSU;  d  SU;   a  URC                  U5      n[&        RD                  " XURF                  URH                  5      US'   SRK                  [M        U	5      5      US'   URO                  5       nU RQ                  SS5      (       a:  U RS                  U5        URU                  S5      (       d  U RS                  S5        g g U RW                  [Y        S5      UR                  5       -  5        [&        RZ                  " U [\        R^                  " US   5      S   U	UUR`                  S9  g ! [*        R,                   a/  n[.        R0                  " [2        R4                  " U5      5      eS nAff = f)Nr   r   s   notifyr   r   s   incomings
   %r and %d:r   s=   notify_published: no subscribers to selected repo and revset
s   webs   baseurl)ÚchangesÚbaseurlÚrootÚwebrootzIn-reply-tos
   -publishedz
Message-Ids   %a, %d %b %Y %H:%M:%S %1%2)ÚformatÚDateÚFroms   emails   fromó   @s
   @localhostz, ÚTos   testó   
s&   notify_published: sending mail for %d
é   )Úmbox)1Úconfigr   Úliteral_templatespecr   ÚchangesettemplaterÚ
pushbufferr   ÚnotifierÚsetÚsubsÚaddÚrevsÚrevÚlenÚdebugÚshowÚ	changesetr   Ú	popbufferr	   Ú
parsebytesÚemailerrorsÚMessageParseErrorr   ÚAbortr   ÚforcebytestrÚ	messageidr   Ústrfromlocalr   ÚdatestrÚusernameÚfixmailÚaddressencodeÚcharsetsÚtestÚjoinÚsortedÚas_bytesÚ
configboolÚwriteÚendswithÚstatusr   ÚsendmailÚ
emailutilsÚ	parseaddrr!   )ÚuiÚrepoÚctxÚdomainÚmessageidseedÚtemplateÚspecÚ	templaterÚnr(   Úsubr*   ÚdataÚmsgÚinstÚsenderÚmsgtexts                    ÚC/usr/lib/python3/dist-packages/hgext/hooklib/changeset_published.pyÚ_report_commitrX   @   s  € Ø�Y‰YÐ*¨IÓ6÷ ¸"¿)¹)Ø�9ó;€Fð —I‘IØÐ-ó÷ 0à	�‰�9Ð.Ó	/ð ð �y‰yÐ,¨kÓ:€HÜ×)Ò)¨(Ó3€DÜ×-Ò-¨b¸Ó=€IØ‡M�M„OÜ�Š˜ +Ó.€Aä‹5€DØ—V”V‰	ˆØ‰<Ø�H‰H�SŒMÙØ�y‰y˜¨¯g©g«iÓ8ˆÜˆt�9‹9Ø�H‰H�SŒMÙñ ô ˆ4ƒy�Aƒ~Ø
�‰ØMô	
ð 	à‡N�NØØ—‘“Ø—	‘	˜& *Ó-Ø�Y‰YØ—‘ð ñ ð �<‰<‹>€Dð9Ü�oŠo˜dÓ#ˆô  ×)Ò)¨#°}ÓE€CˆÑÜ×(Ò(Ø�] ]Ñ2ó€CˆÑô ×'Ò'Ü×ÒÐ =Ñ>ó€Cˆ�Kð ˆv�;Ø—‘˜8 WÓ-×>°·±³ˆØ�vÓ °&Ó!8Ø—Y‘Y˜vÓ&ˆFÜ×(Ò(¨°Q·Z±ZÀÇÁÓHˆˆF‰Ø—	‘	œ& ›,Ó'€Cˆ�Ià�l‰l‹n€GØ	‡}�}�Y ×(Ñ(Ø
�‰�ÔØ×Ñ ×&Ñ&Ø�H‰H�U�Oð 'ð 	�	‰	”!Ð>Ó?À#Ç'Á'Ã)ÑKÔLÜ�ŠØ”
×$Ò$ S¨¡[Ó1°!Ñ4°d¸GÈ!Ï&É&ó	
øô1 ×(Ñ(ó 9Ü�kŠkœ*×1Ò1°$Ó7Ó8Ð8ûð9ús   Æ,N	 Î	OÎ*OÏOc                óâ   • US:w  a6  [         R                  " [        S5      [        R                  " U5      -  5      eUR                  5       U   nUS   S:X  a  US   S:X  a  [        XU5        g g g )Ns   txnclose-phases   Unsupported hook type %rÚoldphases   draftÚphases   public)r   r4   r   r
   ÚbytestrÚ
unfilteredrX   )rH   rI   ÚhooktypeÚnodeÚkwargsrJ   s         rW   Úhookra   „   ss   € ØÐ$Ó$Ü�kŠkÜÐ)Ó*¬X×-=Ò-=¸hÓ-GÑGó
ð 	
ð �/‰/Ó
˜DÑ
!€CØˆjÑ˜XÓ%¨&°©/¸YÓ*FÜ�r Õ%ð +GÐ%ó    )N)Ú__doc__Ú
__future__r   Úemail.errorsÚerrorsr2   Úemail.utilsÚutilsrF   Úmercurial.i18nr   Ú	mercurialr   r   r   r   r	   r
   r   Úmercurial.utilsr   r   Ú r   ÚconfigtableÚ
configitemrX   ra   © rb   rW   Ú<module>rp      s‹   ðñ
õ #å "Ý  å ÷÷ ñ ÷õ à€Ø×!Ò! +Ó.€
á 
ØØØòñ
 ØØØòñ
 ØØðòòA
õH&rb   