ó
    6°h1  ã                  ó„   • S SK Jr  S SKrS SKJrJr  S SKJrJr  SSK	J
r
   " S S\5      r " S	 S
\5      r " S S5      rg)é    )ÚannotationsN)ÚencodingÚutil)ÚprocutilÚ
stringutilé   )Ú
pywatchmanc                  óH   • \ rS rSrSS jrS r\R                  " \5      rSr	g)ÚUnavailableé   c                óV   • Xl         X l        U R                   S:X  a  SU l        X0l        g )Ns   timed out waiting for responseF)ÚmsgÚwarnÚ
invalidate)Úselfr   r   r   s       Ú@/usr/lib/python3/dist-packages/hgext/fsmonitor/watchmanclient.pyÚ__init__ÚUnavailable.__init__   s%   € ØŒØŒ	Ø�8‰8Ð8Ó8ØˆDŒIØ$�ó    c                ó`   • U R                   (       a  SU R                  -  $ SU R                  -  $ )Ns!   warning: Watchman unavailable: %ss   Watchman unavailable: %s)r   r   ©r   s    r   Ú	__bytes__ÚUnavailable.__bytes__    s'   € Ø�9�9Ø7¸$¿(¹(ÑBÐBà.°·±Ñ9Ð9r   )r   r   r   N)TF)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   Ú	strmethodÚ__str__Ú__static_attributes__© r   r   r   r      s   † ô%ò:ð × Ò  Ó+ƒGr   r   c                  ó(   ^ • \ rS rSrU 4S jrSrU =r$ )ÚWatchmanNoRooté)   c                ó0   >• Xl         [        TU ]	  U5        g ©N)ÚrootÚsuperr   )r   r'   r   Ú	__class__s      €r   r   ÚWatchmanNoRoot.__init__*   s   ø€ ØŒ	Ü‰Ñ˜Õr   )r'   )r   r   r   r   r   r    Ú__classcell__)r)   s   @r   r#   r#   )   s   ø† ÷ó r   r#   c                  óf   • \ rS rSrSS jrS rS rS rS r\	R                  S 5       rS rS	 rS
rg)Úclienté/   c                óú   • S nU R                   (       d  SnSnU R                   UR                  SS5      ;   a  SU R                   -  nSnU(       a  [        UW5      eX0l        S U l        X l        Xl        SU l        g )Ns   couldn't get userTó	   fsmonitors   blacklistuserss   user %s in blacklistF)Ú_userÚ
configlistr   Ú_timeoutÚ_watchmanclientÚ_rootÚ_uiÚ
_firsttime)r   Úuir'   ÚtimeoutÚerrr   s         r   r   Úclient.__init__0   sq   € ØˆØ�z�zØ&ˆCØˆDØ�:‰:˜Ÿ™ |Ð5FÓGÓGØ)¨D¯J©JÑ6ˆCØˆDæÜ˜c 4Ó(Ð(àŒØ#ˆÔØŒ
ØŒØˆ�r   c                ób   • Xl         U R                  b  U R                  R                  U5        g g r&   )r3   r4   Ú
setTimeout)r   r9   s     r   Ú
settimeoutÚclient.settimeoutB   s,   € ØŒØ×ÑÑ+Ø× Ñ ×+Ñ+¨GÕ4ð ,r   c                ór   • U R                  S5      n[        US5      (       d
  [        SSS9eUR                  $ )Ns   clockÚclocks#   clock result is missing clock valueT)r   )ÚcommandÚhasattrr   rA   )r   Úresults     r   ÚgetcurrentclockÚclient.getcurrentclockG   s;   € Ø—‘˜hÓ'ˆÜ�v˜w×'Ñ'ÜØ6À4ñð ð �|‰|Ðr   c                ó   • S U l         g r&   )r4   r   s    r   ÚclearconnectionÚclient.clearconnectionO   s
   € Ø#ˆÕr   c                óD   • U R                   S L=(       d    U R                  $ r&   )r4   r7   r   s    r   Ú	availableÚclient.availableR   s   € Ø×#Ñ#¨4Ð/×B°4·?±?ÐBr   c                óN   •  [         R                  " 5       $ ! [         a     g f = fr&   )ÚgetpassÚgetuserÚKeyErrorr   s    r   r1   Úclient._userU   s&   € ð	Ü—?’?Ó$Ð$øÜó 	áð	ús   ‚ —
$£$c                ó´  • US   U R                   4USS  -   n U R                  c\  SU l        U R                  R	                  SS5      n[
        R                  " U R                  S[        R                  " U5      S9U l        U R                  R                  " U6 $ ! [
        R                   ar  nSUR                  ;   a4  [        U R                   [        R                  " UR                  5      5      e[!        [        R                  " UR                  5      5      eS nAf[
        R"                   a$  n[!        [        R                  " U5      5      eS nAff = f)	Nr   r   Fr0   s   watchman_exeT)r9   ÚuseImmutableBserÚbinpathzunable to resolve root)r5   r4   r7   r6   Ú
configpathr	   r-   r3   r   ÚtonativestrÚqueryÚCommandErrorr   r#   r   Úforcebytestrr   ÚWatchmanError)r   ÚargsÚwatchmanargsÚwatchman_exeÚexs        r   Ú_commandÚclient._command]   s  € Ø˜Q™ §¡Ð,¨t°A°B¨xÑ7ˆð	;Ø×#Ñ#Ñ+Ø"'�”Ø#Ÿx™x×2Ñ2Ø  /ó �ô (2×'8Ò'8Ø ŸM™MØ%)Ü$×0Ò0°Ó>ñ(�Ô$ð
 ×'Ñ'×-Ò-¨|Ð<Ð<øÜ×&Ñ&ó 	?Ø'¨2¯6©6Ó1Ü$Ø—J‘J¤
× 7Ò 7¸¿¹Ó ?óð ô œj×5Ò5°b·f±fÓ=Ó>Ð>ûÜ×'Ñ'ó 	;Üœj×5Ò5°bÓ9Ó:Ð:ûð	;ús%   ™BB ÂEÂ/A-DÄEÄ3EÅEc                ó°   •   U R                   " U6 $ ! [         a#    U R                  S5        U R                   " U6 s $ f = f! [         a	    S U l        e f = f)Ns   watch)r_   r#   r   r4   )r   r[   s     r   rB   Úclient.commandt   sd   € ð	ð,Ø—}’} dÐ+Ð+øÜ!ó ,ð —‘˜hÔ'Ø—}’} dÐ+Ò+ð	,ûô
 ó 	ð $(ˆDÔ Øð		ús   ƒ ’*?¼A ¾?¿A ÁA)r7   r5   r3   r6   r4   N)g      ð?)r   r   r   r   r   r>   rE   rH   rK   r   Úpropertycacher1   r_   rB   r    r!   r   r   r-   r-   /   s@   † ôò$5ò
ò$òCð 
×Ññó ðò;õ.r   r-   )Ú
__future__r   rN   Ú	mercurialr   r   Úmercurial.utilsr   r   Ú r	   Ú	Exceptionr   r#   r-   r!   r   r   Ú<module>ri      s@   ðõ #ã ÷÷õ
 ô,�)ô ,ô"�[ô ÷Rò Rr   