class_docstr: Mac OS X FSEvents Emitter class.
  
  :param event_queue:
      The event queue to fill with events.
  :param watch:
      A watch object representing the directory to monitor.
  :type watch:
      :class:`watchdog.observers.api.ObservedWatch`
  :param timeout:
      Read events blocking timeout (in seconds).
  :type timeout:
      ``float``
class_docstr_tok: ["Mac","OS","X","FSEvents","Emitter","class",".",":","param","event_queue",":","The","event","queue","to","fill","with","events",".",":","param","watch",":","A","watch","object","representing","the","directory","to","monitor",".",":","type","watch",":",":","class",":","`","watchdog.observers.api.ObservedWatch","`",":","param","timeout",":","Read","events","blocking","timeout","(","in","seconds",")",".",":","type","timeout",":","``","float","``"]
code: def queue_events(self, timeout):
      with self._lock:
          if (
              not self.watch.is_recursive
              and self.watch.path not in self.pathnames
          ):
              return
          new_snapshot = DirectorySnapshot(
              self.watch.path, self.watch.is_recursive
          )
          events = new_snapshot - self.snapshot
          self.snapshot = new_snapshot
  
          # Files.
          for src_path in events.files_deleted:
              self.queue_event(FileDeletedEvent(src_path))
          for src_path in events.files_modified:
              self.queue_event(FileModifiedEvent(src_path))
          for src_path in events.files_created:
              self.queue_event(FileCreatedEvent(src_path))
          for src_path, dest_path in events.files_moved:
              self.queue_event(FileMovedEvent(src_path, dest_path))
  
          # Directories.
          for src_path in events.dirs_deleted:
              self.queue_event(DirDeletedEvent(src_path))
          for src_path in events.dirs_modified:
              self.queue_event(DirModifiedEvent(src_path))
          for src_path in events.dirs_created:
              self.queue_event(DirCreatedEvent(src_path))
          for src_path, dest_path in events.dirs_moved:
              self.queue_event(DirMovedEvent(src_path, dest_path))
  
file_path: wandb/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/fsevents.py
imports: from __future__ import with_statement
  import sys
  import threading
  import unicodedata
  import _watchdog_fsevents
  from wandb_watchdog.events import FileDeletedEvent, FileModifiedEvent, FileCreatedEvent, FileMovedEvent, DirDeletedEvent, DirModifiedEvent, DirCreatedEvent, DirMovedEvent
  from wandb_watchdog.utils.dirsnapshot import DirectorySnapshot
  from wandb_watchdog.observers.api import BaseObserver, EventEmitter, DEFAULT_EMITTER_TIMEOUT, DEFAULT_OBSERVER_TIMEOUT
label_desc: Use image node_id 3 for calling the FSEventsEmitter obj's underlying member method code with example usage: obj.queue_events(timeout) without return types