§
    šŒÃi@  ã                   ó�   — d dl Z d dlmZmZ  G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d	„ d
e¬¦  «        Z	dS )é    N)ÚABCMetaÚabstractmethodc                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚJobLookupErrorzBRaised when the job store cannot find a job for update or removal.c                 óR   •— t          ¦   «                              d|› d�¦  «         d S )NzNo job by the id of z
 was found©ÚsuperÚ__init__©ÚselfÚjob_idÚ	__class__s     €úd/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/apscheduler/jobstores/base.pyr
   zJobLookupError.__init__   s-   ø€ Ý‰Œ×ÒÐB°ÐBÐBÐBÑCÔCÐCÐCÐCó    ©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   Ú__classcell__©r   s   @r   r   r      sG   ø€ € € € € ØLÐLðDð Dð Dð Dð Dð Dð Dð Dð Dr   r   c                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚConflictingIdErrorz8Raised when the uniqueness of job IDs is being violated.c                 óR   •— t          ¦   «                              d|› d�¦  «         d S )NzJob identifier (z ) conflicts with an existing jobr   r   s     €r   r
   zConflictingIdError.__init__   s-   ø€ Ý‰Œ×ÒÐT¨FÐTÐTÐTÑUÔUÐUÐUÐUr   r   r   s   @r   r   r      sG   ø€ € € € € ØBÐBðVð Vð Vð Vð Vð Vð Vð Vð Vr   r   c                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚTransientJobErrorzs
    Raised when an attempt to add transient (with no func_ref) job to a persistent job store is
    detected.
    c                 óR   •— t          ¦   «                              d|› d�¦  «         d S )NzJob (z`) cannot be added to this job store because a reference to the callable could not be determined.r   r   s     €r   r
   zTransientJobError.__init__   s?   ø€ Ý‰Œ×Òð'�Fð 'ð 'ð 'ñ	
ô 	
ð 	
ð 	
ð 	
r   r   r   s   @r   r   r      sB   ø€ € € € € ðð ð

ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r   r   c                   ó  — e Zd ZdZdZdZ ej        d¦  «        Zd„ Z	d„ Z
d„ Zed„ ¦   «         Zed„ ¦   «         Zed	„ ¦   «         Zed
„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zd„ ZdS )ÚBaseJobStorezSAbstract base class that defines the interface that every job store must implement.Nzapscheduler.jobstoresc                 óZ   — || _         || _        t          j        d|› �¦  «        | _        dS )ax  
        Called by the scheduler when the scheduler is being started or when the job store is being
        added to an already running scheduler.

        :param apscheduler.schedulers.base.BaseScheduler scheduler: the scheduler that is starting
            this job store
        :param str|unicode alias: alias of this job store as it was assigned to the scheduler
        zapscheduler.jobstores.N)Ú
_schedulerÚ_aliasÚloggingÚ	getLoggerÚ_logger)r   Ú	schedulerÚaliass      r   ÚstartzBaseJobStore.start'   s1   € ð $ˆŒØˆŒÝÔ(Ð)IÀ%Ð)IÐ)IÑJÔJˆŒˆˆr   c                 ó   — dS )z2Frees any resources still bound to this job store.N© ©r   s    r   ÚshutdownzBaseJobStore.shutdown5   ó   € € € r   c                 ó˜   — t          |¦  «        D ]9\  }}|j        �-|dk    r$|d |…         }|d |…= |                     |¦  «          d S Œ:d S )Nr   )Ú	enumerateÚnext_run_timeÚextend)r   ÚjobsÚiÚjobÚpaused_jobss        r   Ú_fix_paused_jobs_sortingz%BaseJobStore._fix_paused_jobs_sorting8   sm   € Ý ‘o”oð 	ð 	‰FˆAˆsØÔ Ð,Ø�q’5�5Ø"& r¨ r¤(�KØ˜R˜a˜R˜Ø—K’K Ñ,Ô,Ð,Ø��ð -ð	ð 	r   c                 ó   — dS )aG  
        Returns a specific job, or ``None`` if it isn't found..

        The job store is responsible for setting the ``scheduler`` and ``jobstore`` attributes of
        the returned job to point to the scheduler and itself, respectively.

        :param str|unicode job_id: identifier of the job
        :rtype: Job
        Nr*   ©r   r   s     r   Ú
lookup_jobzBaseJobStore.lookup_jobA   r-   r   c                 ó   — dS )a  
        Returns the list of jobs that have ``next_run_time`` earlier or equal to ``now``.
        The returned jobs must be sorted by next run time (ascending).

        :param datetime.datetime now: the current (timezone aware) datetime
        :rtype: list[Job]
        Nr*   )r   Únows     r   Úget_due_jobszBaseJobStore.get_due_jobsM   r-   r   c                 ó   — dS )z­
        Returns the earliest run time of all the jobs stored in this job store, or ``None`` if
        there are no active jobs.

        :rtype: datetime.datetime
        Nr*   r+   s    r   Úget_next_run_timezBaseJobStore.get_next_run_timeW   r-   r   c                 ó   — dS )a—  
        Returns a list of all jobs in this job store.
        The returned jobs should be sorted by next run time (ascending).
        Paused jobs (next_run_time == None) should be sorted last.

        The job store is responsible for setting the ``scheduler`` and ``jobstore`` attributes of
        the returned jobs to point to the scheduler and itself, respectively.

        :rtype: list[Job]
        Nr*   r+   s    r   Úget_all_jobszBaseJobStore.get_all_jobs`   r-   r   c                 ó   — dS )z¶
        Adds the given job to this store.

        :param Job job: the job to add
        :raises ConflictingIdError: if there is another job in this store with the same ID
        Nr*   ©r   r4   s     r   Úadd_jobzBaseJobStore.add_jobm   r-   r   c                 ó   — dS )z²
        Replaces the job in the store with the given newer version.

        :param Job job: the job to update
        :raises JobLookupError: if the job does not exist
        Nr*   rB   s     r   Ú
update_jobzBaseJobStore.update_jobv   r-   r   c                 ó   — dS )z¬
        Removes the given job from this store.

        :param str|unicode job_id: identifier of the job
        :raises JobLookupError: if the job does not exist
        Nr*   r8   s     r   Ú
remove_jobzBaseJobStore.remove_job   r-   r   c                 ó   — dS )z!Removes all jobs from this store.Nr*   r+   s    r   Úremove_all_jobszBaseJobStore.remove_all_jobsˆ   r-   r   c                 ó"   — d| j         j        › d�S )Nú<ú>)r   r   r+   s    r   Ú__repr__zBaseJobStore.__repr__Œ   s   € Ø-�4”>Ô*Ð-Ð-Ð-Ð-r   )r   r   r   r   r!   r"   r#   r$   r%   r(   r,   r6   r   r9   r<   r>   r@   rC   rE   rG   rI   rM   r*   r   r   r   r       sQ  € € € € € Ø]Ð]à€JØ€FØˆgÔÐ 7Ñ8Ô8€GðKð Kð KðAð Að Aðð ð ð ð	ð 	ñ „^ð	ð ðð ñ „^ðð ðð ñ „^ðð ð
ð 
ñ „^ð
ð ðð ñ „^ðð ðð ñ „^ðð ðð ñ „^ðð ð0ð 0ñ „^ð0ð.ð .ð .ð .ð .r   r   )Ú	metaclass)
r#   Úabcr   r   ÚKeyErrorr   r   Ú
ValueErrorr   r   r*   r   r   ú<module>rR      sø   ðØ €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'ðDð Dð Dð Dð D�Xñ Dô Dð DðVð Vð Vð Vð V˜ñ Vô Vð Vð

ð 

ð 

ð 

ð 

˜
ñ 

ô 

ð 

ðm.ð m.ð m.ð m.ð m.˜Wð m.ñ m.ô m.ð m.ð m.ð m.r   