Ë
    êmxi¸  ã                  ó†   — d Z ddlmZ ddlZddlZddlmZmZ ddlm	Z	m
Z
 erddlmZ  G d„ de«      Zdd	„Z e«       Zd
gZy)uû  :module: watchdog.observers
:synopsis: Observer that picks a native implementation if available.
:author: yesudeep@google.com (Yesudeep Mangalapilly)
:author: contact@tiger-222.fr (MickaÃ«l Schoentgen)

Classes
=======
.. autoclass:: Observer
   :members:
   :show-inheritance:
   :inherited-members:

Observer thread that schedules watching directories and dispatches
calls to event handlers.

You can also import platform specific classes directly and use it instead
of :class:`Observer`.  Here is a list of implemented observer classes.:

============== ================================ ==============================
Class          Platforms                        Note
============== ================================ ==============================
|Inotify|      Linux 2.6.13+                    ``inotify(7)`` based observer
|FSEvents|     macOS                            FSEvents based observer
|Kqueue|       macOS and BSD with kqueue(2)     ``kqueue(2)`` based observer
|WinApi|       Microsoft Windows                Windows API-based observer
|Polling|      Any                              fallback implementation
============== ================================ ==============================

.. |Inotify|     replace:: :class:`.inotify.InotifyObserver`
.. |FSEvents|    replace:: :class:`.fsevents.FSEventsObserver`
.. |Kqueue|      replace:: :class:`.kqueue.KqueueObserver`
.. |WinApi|      replace:: :class:`.read_directory_changes.WindowsApiObserver`
.. |Polling|     replace:: :class:`.polling.PollingObserver`

é    )ÚannotationsN)ÚTYPE_CHECKINGÚProtocol)ÚUnsupportedLibcErrorÚplatform)ÚBaseObserverc                  ó   — e Zd Zddœdd„Zy)ÚObserverType.)Útimeoutc                ó   — y )N© )Úselfr   s     úR/home/htdocs/ttos/venv/lib/python3.12/site-packages/watchdog/observers/__init__.pyÚ__call__zObserverType.__call__2   s   � ó    N)r   ÚfloatÚreturnr   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r
   r
   1   s   „ Ø+.ÖDr   r
   c                 óN  — t        j                  «       r+t        j                  t        «      5  ddlm}  | cd d d «       S t        j                  «       r		 ddlm	} |S t        j                  «       r		 dd	lm} |S t        j$                  «       rddlm} |S ddlm} |S # 1 sw Y   ŒxY w# t        $ rK 	 ddlm} t        j                  dd¬«       |cY S # t        $ r t        j                  dd¬«       Y nw xY wY Œgw xY w# t        $ r t        j                  d
d¬«       Y Œ�w xY w)Nr   )ÚInotifyObserver)ÚFSEventsObserver)ÚKqueueObserverz.Failed to import fsevents. Fall back to kqueueé   )Ú
stacklevelz;Failed to import fsevents and kqueue. Fall back to polling.)ÚWindowsApiObserverz@Failed to import `read_directory_changes`. Fall back to polling.)ÚPollingObserver)r   Úis_linuxÚ
contextlibÚsuppressr   Úwatchdog.observers.inotifyr   Ú	is_darwinÚwatchdog.observers.fseventsr   Ú	ExceptionÚwatchdog.observers.kqueuer   ÚwarningsÚwarnÚ
is_windowsÚ)watchdog.observers.read_directory_changesr   Úis_bsdÚwatchdog.observers.pollingr   )r   r   r   r   r   s        r   Ú_get_observer_clsr-   5   s  € Ü×ÑÔÜ× Ñ Ô!5Ó6ñ 	#ÝBà"÷	#ñ 	#ô 
×	Ñ	Ô	ð	$ÝDð $Ð#Ü	×	Ñ	Ô	ð	&ÝTð &Ð%Ü	�‰Ô	Ý<àÐå:àÐ÷?	#ð 	#ûô ò 	&ð&ÝDô —‘ÐNÐ[\Õ]Ø%Ò%øô	 ò kÜ—‘Ð[Ðhi×jðkúÙjð		&ûô ò 	lÜ�M‰MÐ\Ðij×kð	lúsS   ®BÁB* Á2D ÂB'Â*	C>Â4CÂ:C>Ã C8Ã5C>Ã7C8Ã8C>Ã=C>Ä D$Ä#D$ÚObserver)r   r
   )Ú__doc__Ú
__future__r   r    r'   Útypingr   r   Úwatchdog.utilsr   r   Úwatchdog.observers.apir   r
   r-   r.   Ú__all__r   r   r   ú<module>r5      sG   ðñ"õH #ã Û ß *ç 9áÝ3ôE�8ô Eó!ñH Ó€àˆ,�r   