£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
3
Yj                 @   s*   d gZ ddlmZmZ G dd  d eZdS )Watcher    )GioGLibc               @   sd   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd ZdS )r   c             C   s"   || _ || _i | _i | _g | _d S )N)	_callback_timeout	_monitors	_timeouts_blocked)selfcallbackZtimeout r   /usr/lib/python3.6/watcher.py__init__   s
    zWatcher.__init__c             C   s:   t jj|}|jt jjd | j|< | j| jd| j d S )Nchanged)	r   Filenew_for_pathZmonitor_directoryFileMonitorFlagsNONEr   connect_file_changed_cb)r
   Z	directorygfiler   r   r   add_watch_dir"   s    zWatcher.add_watch_dirc             C   s:   t jj|}|jt jjd | j|< | j| jd| j d S )Nr   )	r   r   r   Zmonitor_filer   r   r   r   r   )r
   filenamer   r   r   r   add_watch_file(   s    zWatcher.add_watch_filec             C   s
   | j j S )N)r   keys)r
   r   r   r   get_watches.   s    zWatcher.get_watchesc             C   s
   || j kS )N)r   )r
   r   r   r   r   	has_watch1   s    zWatcher.has_watchc             C   s   | j |= d S )N)r   )r
   r   r   r   r   remove_watch4   s    zWatcher.remove_watchc             C   s   || j kr| j j| d S )N)r	   append)r
   r   r   r   r   block_source7   s    
zWatcher.block_sourcec             C   s   || j kr| j j| d S )N)r	   remove)r
   r   r   r   r   unblock_source;   s    
zWatcher.unblock_sourcec             C   s4   x.t | jj D ]}tj| j|  | j|= qW d S )N)listr   r   r   source_remove)r
   r   r   r   r   clear_timeouts?   s    zWatcher.clear_timeoutsc             C   s    || j kr| j| | j|= d S )N)r	   r   r   )r
   r   r   r   r   _call_callbackD   s    

zWatcher._call_callbackc             C   s   |j  }|| jkr8|| jkr4tj| j|  | j|= d S |tjjksh|tjjksh|tjj	ksh|tjj
kr|| jkrtj| j|  | j|= tj| j| j|| j|< d S )N)Zget_parse_namer	   r   r   r#   r   ZFileMonitorEventZCHANGEDZCREATEDZDELETEDZATTRIBUTE_CHANGEDZtimeout_add_secondsr   r%   )r
   ZmonitorZgio_fileZgio_other_fileZeventr   r   r   r   r   I   s    


zWatcher._file_changed_cbN)__name__
__module____qualname__r   r   r   r   r   r   r   r!   r$   r%   r   r   r   r   r   r      s   N)__all__Zgi.repositoryr   r   objectr   r   r   r   r   <module>   s   