
    ʆh                        S r SSKJr  SSKrSSKrSSKJrJr  SSKJ	r	J
r
  \(       a  SSKJr   " S S\5      rSS	 jr\" 5       rS
/rg)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                  &    \ rS rSrSS.SS jjrSrg)ObserverType1   .)timeoutc                   g )N )selfr   s     S/opt/services/DDDS/venv/lib/python3.13/site-packages/watchdog/observers/__init__.py__call__ObserverType.__call__2   s        r   N)r   floatreturnr   )__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r
   r
   1   s    +.DDr   r
   c                    [         R                  " 5       (       a,  [        R                  " [        5         SSKJn   U sS S S 5        $ [         R                  " 5       (       a	   SSKJ	n  U$ [         R                  " 5       (       a	   SS	KJn  U$ [         R$                  " 5       (       a  SSKJn  U$ SSKJn  U$ ! , (       d  f       N= f! [         aG     SSKJn  [        R                  " SSS9  Us $ ! [         a    [        R                  " SSS9    Nef = ff = f! [         a    [        R                  " S
SS9   Nf = f)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_clsr1   5   s     !56B" 76 
					$D $#						&T &%			<:? 76  	&&D N[\]%%	  k[hijk	&  	lMM\ijk	lsM   B7"C D 7
C
DC2D2DDDDD>=D>Observer)r   r
   )__doc__
__future__r   r$   r+   typingr   r   watchdog.utilsr   r   watchdog.observers.apir   r
   r1   r2   __all__r   r   r   <module>r9      sG   "H #   * 93E8 E!H ,r   