def callback(pathnames, flags, ids, emitter=self): with emitter._lock: emitter.native_events = [ _fsevents.NativeEvent(event_path, event_flags, event_id) for event_path, event_flags, event_id in zip(pathnames, flags, ids) ] emitter.queue_events(emitter.timeout)
def callback(pathnames, flags, ids, emitter=self): try: with emitter._lock: emitter.queue_events(emitter.timeout, [ _fsevents.NativeEvent(event_path, event_flags, event_id) for event_path, event_flags, event_id in zip(pathnames, flags, ids) ]) except Exception: logger.exception("Unhandled exception in fsevents callback")
@pytest.fixture def observer(): obs = Observer() obs.start() yield obs obs.stop() try: obs.join() except RuntimeError: pass @pytest.mark.parametrize('event,expectation', [ # invalid flags (_fsevents.NativeEvent('', 0, 0, 0), False), # renamed (_fsevents.NativeEvent('', 0, 0x00000800, 0), False), # renamed, removed (_fsevents.NativeEvent('', 0, 0x00000800 | 0x00000200, 0), True), # renamed, removed, created (_fsevents.NativeEvent('', 0, 0x00000800 | 0x00000200 | 0x00000100, 0), True), # renamed, removed, created, itemfindermod (_fsevents.NativeEvent('', 0, 0x00000800 | 0x00000200 | 0x00000100 | 0x00002000, 0), True), # xattr, removed, modified, itemfindermod (_fsevents.NativeEvent('', 0, 0x00008000 | 0x00000200 | 0x00001000 | 0x00002000, 0), False), ]) def test_coalesced_event_check(event, expectation): assert event.is_coalesced == expectation