+
    *Qj                         ^ RI Ht ^ RIt^ RIHtHtHt ^ RIHtH	t	H
t
 ^ RIHt  ^ RIt ^ RIHt ^ RIHt ^ RIHtHt  ! R
 R]4      tR#   ] d    ^ RIt L/i ; i  ] d
    ]! R	4      hi ; i)    )absolute_importN)BaseJobStoreJobLookupErrorConflictingIdError)	maybe_refdatetime_to_utc_timestamputc_timestamp_to_datetime)Job)Binary)DuplicateKeyError)MongoClient	ASCENDINGz*MongoDBJobStore requires PyMongo installedc                      a a ] tR t^t oRtRRR]P                  3V 3R lltV 3R lt]	R 4       t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tRtVtV ;t# )MongoDBJobStoreaG  
Stores jobs in a MongoDB database. Any leftover keyword arguments are directly passed to
pymongo's `MongoClient
<http://api.mongodb.org/python/current/api/pymongo/mongo_client.html#pymongo.mongo_client.MongoClient>`_.

Plugin alias: ``mongodb``

:param str database: database to store jobs in
:param str collection: collection to store jobs in
:param client: a :class:`~pymongo.mongo_client.MongoClient` instance to use instead of
    providing connection arguments
:param int pickle_protocol: pickle protocol level to use (for serialization), defaults to the
    highest available
apschedulerjobsNc                8  < \         \        V `  4        W@n        V'       g   \	        R 4      hV'       g   \	        R4      hV'       d   \        V4      V n        M"VP                  R^4       \        R/ VB V n        V P                  V,          V,          V n	        R# )z*The "database" parameter must not be emptyz,The "collection" parameter must not be emptywN )
superr   __init__pickle_protocol
ValueErrorr   client
setdefaultr   
collection)selfdatabaser   r   r   connect_args	__class__s   &&&&&,v/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/apscheduler/jobstores/mongodb.pyr   MongoDBJobStore.__init__%   sw    ot-/.IJJKLL#F+DK##C+%55DK++h/
;    c                h   < \         \        V `  W4       V P                  P	                  R RR7       R# )next_run_timeT)sparseN)r   r   startr   create_index)r   	scheduleraliasr    s   &&&r!   r'   MongoDBJobStore.start7   s)    ot*9<$$_T$Br#   c                P    \         P                  ! R \        4       V P                  # )z=The "connection" member is deprecated -- use "client" instead)warningswarnDeprecationWarningr   r   s   &r!   
connectionMongoDBJobStore.connection;   s    U(	*{{r#   c                    V P                   P                  VR .4      pV'       d   V P                  VR ,          4      # R# )	job_stateN)r   find_one_reconstitute_job)r   job_iddocuments   && r!   
lookup_jobMongoDBJobStore.lookup_jobA   s7    ??++F[MB@Ht%%h{&;<RdRr#   c                B    \        V4      pV P                  R RV//4      # )r%   z$lte)r   	_get_jobs)r   now	timestamps   && r!   get_due_jobsMongoDBJobStore.get_due_jobsE   s%    -c2	~~0CDEEr#   c                    V P                   P                  R RR//R .R \        3.R7      pV'       d   \        VR ,          4      # R# )r%   z$neN)
projectionsort)r   r5   r   r	   )r   r8   s   & r!   get_next_run_time!MongoDBJobStore.get_next_run_timeI   sU    ??++_udm,L8G7H3BI2N1O , Q HP(/)BCYUYYr#   c                J    V P                  / 4      pV P                  V4       V# N)r<   _fix_paused_jobs_sorting)r   r   s   & r!   get_all_jobsMongoDBJobStore.get_all_jobsO   s#    ~~b!%%d+r#   c                8    V P                   P                  R VP                  R\        VP                  4      R\        \        P                  ! VP                  4       V P                  4      4      /4       R#   \         d    \        TP                  4      hi ; i)_idr%   r4   N)r   
insert_oneidr   r%   r   pickledumps__getstate__r   r   r   )r   jobs   &&r!   add_jobMongoDBJobStore.add_jobT   s|    	-OO&&svv!:3;L;L!MVFLL1A1A1CTEYEY$Z[( 
 ! 	-$SVV,,	-s   A4A8 8!Bc           	     X   R \        VP                  4      R\        \        P                  ! VP                  4       V P                  4      4      /pV P                  P                  RVP                  /RV/4      pV'       d)   VP                  ^ 8X  d   \        VP                  4      hR# R# )r%   r4   rL   z$setN)r   r%   r   rO   rP   rQ   r   r   
update_onerN   matched_countr   )r   rR   changesresults   &&  r!   
update_jobMongoDBJobStore.update_job^   s    6s7H7HIS-=-=-?AUAU VW
 ++UCFFOfg=NOf**a/ (( 06r#   c                    V P                   P                  R V/4      pV'       d   VP                  ^ 8X  d   \        V4      hR# R# )rL   N)r   
delete_onedeleted_countr   )r   r7   rY   s   && r!   
remove_jobMongoDBJobStore.remove_jobg   s<    ++UFO<f**a/ (( 06r#   c                <    V P                   P                  / 4       R # rG   )r   delete_manyr0   s   &r!   remove_all_jobsMongoDBJobStore.remove_all_jobsl   s    ##B'r#   c                :    V P                   P                  4        R # rG   )r   closer0   s   &r!   shutdownMongoDBJobStore.shutdowno   s    r#   c                    \         P                  ! V4      p\        P                  ! \        4      pVP	                  V4       V P
                  Vn        V P                  Vn        V# rG   )rO   loadsr
   __new____setstate__
_scheduler_alias_jobstore_alias)r   r4   rR   s   && r!   r6   !MongoDBJobStore._reconstitute_jobr   sH    LL+	kk##"kk
r#   c                   . p. pV P                   P                  VR R.R\        3.R7       F+  p VP                  V P	                  VR,          4      4       K-  	  V'       d    V P                   P                  R RV//4       V#   \
         d@    T P                  P                  RTR ,          4       TP                  TR ,          4        K  i ; i)rL   r4   r%   )rC   z)Unable to restore job "%s" -- removing itz$in)	r   findr   appendr6   BaseException_logger	exceptionrb   )r   
conditionsr   failed_job_idsr8   s   &&   r!   r<   MongoDBJobStore._get_jobsz   s    ,,Z%9M4CY3O2P - RH7D228K3HIJR OO''0G(HI ! 7&&'R'/8%%huo67s   'BACCc                T    R V P                   P                  : RV P                  : R2# )<z	 (client=z)>)r    __name__r   r0   s   &r!   __repr__MongoDBJobStore.__repr__   s    %)^^%<%<dkkJJr#   )r   r   r   )r|   
__module____qualname____firstlineno____doc__rO   HIGHEST_PROTOCOLr   r'   propertyr1   r9   r?   rD   rI   rS   rZ   r_   rc   rg   r6   r<   r}   __static_attributes____classdictcell____classcell__)r    __classdict__s   @@r!   r   r      s      !.&!'!8!8<$C  
SFZ
-))
($K Kr#   r   )
__future__r   r-   apscheduler.jobstores.baser   r   r   apscheduler.utilr   r   r	   apscheduler.jobr
   cPicklerO   ImportErrorbson.binaryr   pymongo.errorsr   pymongor   r   r   r   r#   r!   <module>r      ss    &  W W \ \ D"0.
xKl xK    D
B
CCDs   A A AAA-