
    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  pU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   YY*I6 "))9;F II- 0	9.	/  yy,k:H))(3D--b=IMMO+.A5DVV	<HHSMyyggi8t99HHSM  4yA~
M	
 	NN		&*-YY   <<>D9ood#  ))#}EC((]]2C '' =>CK v;8W->v&!8YYv&F((QZZHF		&,'CIllnG	}}Y((
&&HHUO ' 			!>?#'')KL
$$S[1!4dG!&&	
1 (( 9kk*11$7889s   ,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    $$kk)*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   