r4ibddlmZddlmZmZGddeZGddeZGddeZy ) ) BaseTrigger) obj_to_ref ref_to_objc*eZdZdZddZdZdZdZy)BaseCombiningTriggertriggersjitterNc ||_||_yNr)selfr r s j/mnt/ssd/data/python-lab/DaemonControl/venv/lib/python3.12/site-packages/apscheduler/triggers/combining.py__init__zBaseCombiningTrigger.__init__s   cd|jDcgc]'}t|j|jf)c}|jdScc}w)N)versionr r )r r __class__ __getstate__r )r triggers rrz!BaseCombiningTrigger.__getstate__ sR $}}G--.0D0D0FGkk   s,A cL|jdddkDr)td|dd|jjd|d|_g|_|dD]M\}}t |}|j|}|j||j j|Oy)Nrrz Got serialized data for version z of z*, but only versions up to 1 can be handledr r ) get ValueErrorr__name__r r r__new__ __setstate__append)r stateclsrefclsrs rrz!BaseCombiningTrigger.__setstate__s 99Y "Q &253C2DD>>**++UW  Ho  ":. *MFEV$Ckk#&G   ' MM  )  *rcdj|jj|j|jrd|jSdS)Nz <{}({}{})>z , jitter=)formatrrr r r s r__repr__zBaseCombiningTrigger.__repr__%sL"" NN # # MM)-i } %  ;=  rr )r __module__ __qualname__ __slots__rrrr%rrrrs&I  * rrc eZdZdZdZdZdZy) AndTriggeraw Always returns the earliest next fire time that all the given triggers can agree on. The trigger is considered to be finished when any of the given triggers has finished its schedule. Trigger alias: ``and`` .. warning:: This trigger should only be used to combine triggers that fire on specific times of day, such as :class:`~apscheduler.triggers.cron.CronTrigger` and class:`~apscheduler.triggers.calendarinterval.CalendarIntervalTrigger`. Attempting to use it with :class:`~apscheduler.triggers.interval.IntervalTrigger` will likely result in the scheduler hanging as it tries to find a fire time that matches exactly between fire times produced by all the given triggers. :param list triggers: triggers to combine :param int|None jitter: delay the job execution by ``jitter`` seconds at most r)c |jDcgc]}|j||}}d|vryt|t|k(r |j |d|j |St|}qcc}w)Nr)r get_next_fire_timeminmax _apply_jitterr )r previous_fire_timenowr fire_timess rr-zAndTrigger.get_next_fire_timeDs $}}**+=sCJz!ZC O3))*Q-cJJ*osA3cddjdjd|jDS)Nzand[{}], c32K|]}t|ywr str.0rs r z%AndTrigger.__str__..Rs)T7#g,)Tr#joinr r$s r__str__zAndTrigger.__str__Qs& )Tdmm)T TUUrNrr&r'__doc__r(r-r?r)rrr+r+-s(I &Vrr+c eZdZdZdZdZdZy) OrTriggera? Always returns the earliest next fire time produced by any of the given triggers. The trigger is considered finished when all the given triggers have finished their schedules. Trigger alias: ``or`` :param list triggers: triggers to combine :param int|None jitter: delay the job execution by ``jitter`` seconds at most .. note:: Triggers that depends on the previous fire time, such as the interval trigger, may seem to behave strangely since they are always passed the previous fire time produced by any of the given triggers. r)c|jDcgc]}|j||}}|Dcgc]}|| }}|r&|jt||j|Sycc}wcc}wr )r r-r0r.r )r r1r2rr3 fire_times rr-zOrTrigger.get_next_fire_timefs{ ==   & &'93 ?  2<UIy?TiU U %%c*ot{{CH H VsA%A*A*cddjdjd|jDS)Nzor[{}]r5c32K|]}t|ywr r7r9s rr;z$OrTrigger.__str__..rs(S'W(Sr<r=r$s rr?zOrTrigger.__str__qs$tyy(ST]](SSTTrNr@r)rrrCrCUs I UrrCN)apscheduler.triggers.baserapscheduler.utilrrrr+rCr)rrrJs713% ;% P%V%%VPU$Ur