K i$dZddlmZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl Z ddl mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%ddl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ddl0m1Z1m2Z2m3Z3m4Z4e rdd l m5Z5dd l0m6Z6m7Z7ejpe9Z:d Z;ejxe;e=d e:j}e;Gdde Z?GddZ@Gdde4ZAGdde3ZBy)u:module: watchdog.observers.fsevents2 :synopsis: FSEvents based emitter implementation. :author: thomas.amland@gmail.com (Thomas Amland) :author: contact@tiger-222.fr (Mickaël Schoentgen) :platforms: macOS ) annotationsN)Thread) TYPE_CHECKING)CFRunLoopGetCurrent CFRunLoopRun CFRunLoopStopFSEventStreamCreateFSEventStreamInvalidateFSEventStreamRelease FSEventStreamScheduleWithRunLoopFSEventStreamStartFSEventStreamStopkCFAllocatorDefaultkCFRunLoopDefaultMode"kFSEventStreamCreateFlagFileEventskFSEventStreamCreateFlagNoDefer&kFSEventStreamEventFlagItemChangeOwner"kFSEventStreamEventFlagItemCreated(kFSEventStreamEventFlagItemFinderInfoMod'kFSEventStreamEventFlagItemInodeMetaMod kFSEventStreamEventFlagItemIsDir$kFSEventStreamEventFlagItemIsSymlink#kFSEventStreamEventFlagItemModified"kFSEventStreamEventFlagItemRemoved"kFSEventStreamEventFlagItemRenamed#kFSEventStreamEventFlagItemXattrModkFSEventStreamEventIdSinceNow) DirCreatedEventDirDeletedEventDirModifiedEvent DirMovedEventFileCreatedEventFileDeletedEventFileModifiedEventFileMovedEventFileSystemEvent)DEFAULT_EMITTER_TIMEOUTDEFAULT_OBSERVER_TIMEOUT BaseObserver EventEmitter)Callable) EventQueue ObservedWatchzSwatchdog.observers.fsevents2 is deprecated and will be removed in a future release.)category stacklevelcTeZdZdZddZd dZd dZ d dZd dZy) FSEventsQueuezLow level FSEvents client.c tj|tj|_d|_t |trtj|}tjd||_ d}d}tt|j||jgt |t"t$z|_|j& d}t)|y)NNFCg?z"FSEvents. Could not create stream.)r__init__queueQueue_queue _run_loop isinstancebytesosfsdecode unicodedata normalize_pathr r _callbackrrr _stream_refOSError)selfpathcontextlatencyerrors b/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/watchdog/observers/fsevents2.pyr5zFSEventsQueue.__init__Ks=B[[]  dE ";;t$D **5$7 .  NN  ZZL )  +.P P     #8E%.  $c&tjjj}t |_t |j|j tt|js7t|jt|jd}t|tt|jt|jt|j~|jj!dy)Nz!FSEvents. Could not start stream.)AppKitNSAutoreleasePoolallocinitrr9r rBrr r r rCrrr8put)rDpoolrHs rIrunzFSEventsQueue.runcs''--/446,.()9)94>>K`a!$"2"23 #D$4$4 5 !1!1 27E%. $**+ 0 01T--.  rJcH|jt|jyyN)r9rrDs rIstopzFSEventsQueue.stopus >> % $.. ) &rJc t|||D cgc]\}}} t||| } }}} tjd|| D]} tj| |jj | ycc} }}w)Nz!FSEvents callback. Got %d events:)zip NativeEventloggerdebugr8rP) rD stream_refclient_callback_info num_events event_paths event_flags event_idsrEflags_ideventses rIrAzFSEventsQueue._callbackysvILKYdfoHpqq4DD%+dE3/qq 8*E A LLO   rsA<cZ|jr|jjSdS)zfReturns a list or one or more events, or None if there are no more events to be read. N)is_aliver8getrUs rI read_eventszFSEventsQueue.read_eventss"%)MMOt{{ ==rJN)rEz bytes | strreturnNonerjrk)r\intr]r+r^rmr_z list[bytes]r` list[int]rarnrjrk)rjzlist[NativeEvent] | None) __name__ __module__ __qualname____doc__r5rRrVrArirJrIr2r2Hsb$!0$*    '    !         >rJr2c.eZdZddZeddZddZy)rYc||_||_||_t|tz|_t|t z|_t|tz|_ t|tz|_ t|tz|_ t|tz|_t|t z|_t|t$z|_t|t(z|_t|t,z|_yrT)rErbevent_idboolr is_createdr is_removedr is_renamedr is_modifiedris_change_ownerris_inode_meta_modris_finder_info_modr is_xattr_modr is_symlinkr is_directory)rDrErbrvs rIr5zNativeEvent.__init__s    u'IIJu'IIJu'IIJ(K KL#E,R$RS!%e.U&U!V"&u/W'W"X )L!LMu'KKL )I!IJrJc|jry|jry|jry|jry|jry|j ryy)NCreatedRemovedRenamedModified InodeMetaModXattrModUnknown)rxryrzr{r}rrUs rI _event_typezNativeEvent._event_typesG ?? ?? ??     ! !!   rJc dt|jd|jd|jd|jdt |j d|jd S)N)typerorErrhexrbrvrUs rI__repr__zNativeEvent.__repr__sdT ##$GDII=@P@P?QR(()#djj/1B% VW Y rJN)rEr;rbrmrvrmrjrk)rjstr)rorprqr5propertyrrrsrJrIrYrYs! K   rJrYcJeZdZdZedd dfdZddZd dZxZS) FSEventsEmitterzBFSEvents based event emitter. Handles conversion of native events.Ntimeout event_filterct|||||t|j|_|jj y)Nr)superr5r2rE _fseventsstart)rD event_queuewatchrr __class__s rIr5zFSEventsEmitter.__init__s; eW<X&uzz2 rJc8|jjyrT)rrVrUs rIon_thread_stopzFSEventsEmitter.on_thread_stops rJc |jj}|yd}|t|kr||}|jr@|dzt|kr ||dzjr||dzj|jdzk(r|j rt nt}|j||j||dzj|jttjj|j|jttjj||dzj|dz }ntjj|jr||j rtnt}|j||j|jttjj|jn|j rt nt"}|j||j|jttjj|jnl|j$s|j&s |j(r;|j rtnt*}|j||jn |j,r{|j rtnt}|j||j|jttjj|jn|j.rz|j rt nt"}|j||j|jttjj|j|dz }|t|kryy)Nrr.)rrilenrzrvrr!r% queue_eventrEr r<dirnameexistsrr"rr#r{r}rr$rxry)rDrrdieventclss rI queue_eventszFSEventsEmitter.queue_eventss++- >  #f+o1IE q53v;&6!a%=+C+CqSTu H^H^bgbpbpstbtHt+0+=+=->C$$SVAE]5G5G%HI$$%5bggooejj6Q%RS$$%5bggoofQQRUmFXFX6Y%Z[FAWW^^EJJ/-2-?-?/EUC$$S_5$$%5bggooejj6Q%RS-2-?-?/EUC$$S_5$$%5bggooejj6Q%RS""e&=&=ASAS*/*<*<&BS  UZZ1!!).););oAQ  UZZ1  !1"''//%**2M!NO!!).););oAQ  UZZ1  !1"''//%**2M!NO FAW#f+orJ)rr,rr-rfloatrz"list[type[FileSystemEvent]] | Nonerlrrrjrk) rorprqrrr'r5rr __classcell__rs@rIrrsCL1;?      9 0rJrc&eZdZeddfdZxZS)FSEventsObserver2rc0t|t|y)Nr)rr5r)rDrrs rIr5zFSEventsObserver2.__init__s ':rJr)rorprqr(r5rrs@rIrrs+C;;rJr)Crr __future__rloggingr<r6r>warnings threadingrtypingrrLFSEventsrrrr r r r r rrrrrrrrrrrrrrrrwatchdog.eventsrrr r!r"r#r$r%r&watchdog.observers.apir'r(r)r*r+r,r- getLoggerrorZmessagewarnDeprecationWarningwarningr2rYrrrsrJrIrs#  6   qp@   8 $ _  g 2qAwD>FD>N$ $ NBlBJ; ;rJ