
    "d                    x   U d Z ddlmZ ddlZddlZddlmZ ddlmZ de	d<   ej                  j                  d	      r	 dd
lmZ dgZyej                  j                  d      r	 ddlmZ dgZyej                  dv r
ddlmZ dgZyej                  j                  d      r	 ddlmZ dgZyddlmZ dgZy# e$ r ddlmZ Y dgZyw xY w# e$ rC 	 ddlmZ  ej,                  d       n## e$ r ddlmZ  ej,                  d       Y nw xY wY dgZyw xY w# e$ r ddlmZ  ej,                  d       Y dgZyw xY w)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|       MS 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)UnsupportedLibc   )BaseObserverSubclassCallabler   Observerlinux)InotifyObserver)PollingObserverdarwin)FSEventsObserver)KqueueObserverz.Failed to import fsevents. Fall back to kqueuez;Failed to import fsevents and kqueue. Fall back to polling.)	dragonflyfreebsdnetbsdopenbsdbsdwin)WindowsApiObserverz>Failed to import read_directory_changes. Fall back to polling.)__doc__
__future__r   syswarningswatchdog.utilsr   apir   __annotations__platform
startswithinotifyr	   r   pollingr
   fseventsr   	Exceptionkqueuer   warnread_directory_changesr   __all__     =/usr/lib/python3/dist-packages/watchdog/observers/__init__.py<module>r)      sZ   #J # 
  * -
& & <<7#98< ,5 	\\X&	Y:0 , 	\\II2 , 	\\U#XJ , 5,;  988 ,;9  Y	Y:HMMJK 	Y<HMMWX	Y& ,/Y  X8VW
 ,XsY   B7 %C #D 7CCDC*)D*D
D	D

DDD98D9