o
    HîYc4  ã                	   @   s–   d dl Z d dlZd dlmZ d dlmZ d dlmZmZ edddƒedd	dƒed
ddƒedddƒedddƒedddƒdœZ	dZ
ddd„Zddd„ZdS )é    N)Úavoid_wrapping)Úis_aware)ÚgettextÚngettext_lazyz%(num)d yearz%(num)d yearsÚnumz%(num)d monthz%(num)d monthsz%(num)d weekz%(num)d weeksz%(num)d dayz%(num)d daysz%(num)d hourz%(num)d hoursz%(num)d minutez%(num)d minutes)ÚyearÚmonthÚweekÚdayÚhourÚminute))i€3ár   )i ' r   )i€:	 r	   )i€Q r
   )i  r   )é<   r   Fé   c                 C   sê  |du rt }|dkrtdƒ‚t| tjƒst | j| j| j¡} |r0t|tjƒs0t |j|j|j¡}|p?tj t| ƒr=tj	j
nd¡}|rG|| } }||  }t | j|j¡}|dkrlt | j¡rb|d8 }n
t |j¡rl|d7 }|t |¡8 }|jd d d |j }|dkrt|d ddi ƒS ttƒD ]\}\}	}
||	 }|dkr¡ nq‘t|d ddi ƒS g }d}|ttƒk rî||k rît| \}	}
||	 }|dkrÉn%| t||
 d|i ƒ¡ ||	| 8 }|d7 }|d7 }|ttƒk rî||k sºtd	ƒ |¡S )
a  
    Take two datetime objects and return the time between d and now as a nicely
    formatted string, e.g. "10 minutes". If d occurs after now, return
    "0 minutes".

    Units used are years, months, weeks, days, hours, and minutes.
    Seconds and microseconds are ignored. Up to `depth` adjacent units will be
    displayed.  For example, "2 weeks, 3 days" and "1 year, 3 months" are
    possible outputs, but "2 weeks, 3 hours" and "1 year, 5 days" are not.

    `time_strings` is an optional dict of strings to replace the default
    TIME_STRINGS dict.

    `depth` is an optional integer to control the number of adjacent time
    units returned.

    Adapted from
    https://web.archive.org/web/20060617175230/http://blog.natbat.co.uk/archive/2003/Jun/14/time_since
    Nr   zdepth must be greater than 0.é   é   r   r   r   z, )ÚTIME_STRINGSÚ
ValueErrorÚ
isinstanceÚdatetimer   r   r
   Únowr   ÚtimezoneÚutcÚcalendarÚleapdaysÚisleapÚ	timedeltaÚdaysÚsecondsr   Ú	enumerateÚTIMESINCE_CHUNKSÚlenÚappendr   Újoin)Údr   ÚreversedÚtime_stringsÚdepthÚdeltar   ÚsinceÚir   ÚnameÚcountÚresultÚcurrent_depth© r.   úK/var/www/jaguar/venv/lib/python3.10/site-packages/django/utils/timesince.pyÚ	timesince   sR    

ÿø	r0   c                 C   s   t | |d||dS )zV
    Like timesince, but return a string measuring the time until the given time.
    T)r$   r%   r&   )r0   )r#   r   r%   r&   r.   r.   r/   Ú	timeuntila   s   r1   )NFNr   )NNr   )r   r   Údjango.utils.htmlr   Údjango.utils.timezoner   Údjango.utils.translationr   r   r   r   r0   r1   r.   r.   r.   r/   Ú<module>   s    





ú	

F