o
    Tpi  ã                   @   s@   d dl m Z mZ d dlmZ dd„ Zdd„ Zdd„ Zd	d
„ ZdS )é    )ÚdatetimeÚ	timedelta)Újsonifyc                 C   s$   zt  | d¡W S  ty   Y d S w )Nz%d-%m-%Y)r   ÚstrptimeÚ
ValueError)Údate_string© r   ú/var/www/ultranav/validators.pyÚ
parse_date   s
   ÿr
   c                 C   sB   t | ƒ}t |ƒ}|r|sdS ||krdS || j}|dkrdS dS )N)Fz#Invalid date format. Use dd-mm-yyyy)Fz#Start date cannot be after end dateé   )Fz Date range cannot exceed 30 days)TN)r
   Údays)Ústart_date_strÚend_date_strÚ
start_dateÚend_dateÚ	date_diffr   r   r	   Úvalidate_date_range
   s   
r   c                 C   s
   |   d¡S )Nz%Y%m%d)Ústrftime)Údate_objr   r   r	   Úformat_date_for_db   s   
r   c                 C   sl   | dvs|dvr
dS | dkr|dkrdS | dkr"|dkr"d}|d fS | dkr0|dkr0d}|d fS d}|d fS )	N)ÚtrueÚfalse)Nz)art22 and art33 must be 'true' or 'false'r   )Nz*At least one account type must be selectedr   z2,4Ú4Ú2r   )Úart22Úart33Úaccount_typesr   r   r	   Úvalidate_account_types   s   ûþr   N)r   r   Úflaskr   r
   r   r   r   r   r   r   r	   Ú<module>   s    