
    vg                        d dl Z d dlZd dlZd dlmZmZ d dlmZ d dlmZ  ej                         Z
d Zd Z ed dD              sA	  e       Zej                  ed	d
       ej                  ed	d       ej!                          yy)    N)datetime	timedelta)BackgroundScheduler)relativedeltac                      ddl m}  t        j                         }| j                  j                  d      }|D ]=  }|j                  s|j                  |k(  s d|_        d|_        |j                          ? y)zI
    Closes recruitment campaigns that have reached their end date.

    r   )RecruitmentF)closedTN)
recruitment.modelsr   todaydateobjectsfilterend_dater	   is_publishedsave)r   
today_daterecruitmentsrecs       )/var/www/horilla/recruitment/scheduler.pyrecruitment_closer      se    
 /J&&--U-;L <<||z)!
#( 
    c                  f   ddl m}  ddlm} |j                  j                  d      }t        |j                  j                  dd            }t        | j                  j                  |      j                  dd            }|D ](  }|j                  |v sd|_	        |j                          * y	)
zT
    Converts candidates to a "converted" state if they already exist as users.
    r   )User)	CandidateT)	is_activeemail)flat)username__inN)django.contrib.auth.modelsr   r
   r   r   r   listvalues_listr   	convertedr   )r   r   
candidatesmailsexisting_emailscands         r   candidate_convertr'      s     0,""))D)9J""..wT.BCE/;;G$;OO  ::(!DNIIKr   c              #   @   K   | ]  }|t         j                  v   y w)N)sysargv).0cmds     r   	<genexpr>r-   2   s        388Os   )makemigrationsmigratecompilemessagesflushshellinterval
   )seconds   )hours)calendarr   dtr)   r   !apscheduler.schedulers.backgroundr   dateutil.relativedeltar   nowr   r   r'   any	scheduleradd_jobstart r   r   <module>rB      s      
 ( A 0&&  Q  $%I'R@'1=OOr   