9G L d dl Z d dlZd dlmZmZmZ d dlZd dlZd dlmZ ej d Z
dZ G d dej Z
e
Zd Zd Z ej fd
Zd Zd Zd
Zd!dZd Zd Zd ZdddddZdddddZd Zd Zg dZdeee f fd Z!dS )" N)datetime timedeltatimezone)Tuplez(\d+)(d|h|m|s)i c $ e Zd ZdZd Zd Zd ZdS )_UTCUTCc * t j d S Nr datetimelibr selfdts /builddir/build/BUILDROOT/lve-stats-4.3.2-1.el9.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/lvestats/lib/commons/dateutil.py utcoffsetz_UTC.utcoffset $Q''' c dS )Nr r s r tznamez_UTC.tzname s ur c * t j d S r r r s r dstz_UTC.dst r r N)__name__
__module____qualname____doc__r r r r r r r r sF
I( ( ( ( ( ( ( (r r c r t j t j | S )zV
Converts date_time from UTC to local time
:param date_time:
:return:
)r
fromtimestampcalendartimegm timetuple date_times r gm_to_localr% $ s+ !(/)2E2E2G2G"H"HIIIr c t j t j | t
j S )zQ
Converts date_time from local to UTC
:param date_time:
:return:
tz)r r timemktimer" r utcr# s r local_to_gmr, - s2 !$+i.A.A.C.C"D"DVVVVr c N t j | S )zH
Converts utc datetime to timestamp
:param dt:
:return:
)r r! r" r s r gm_datetime_to_unixtimestampr/ 6 s ?2<<>>***r c 8 t j | t S )zH
Converts timestamp to utc datetime
:param ts:
:return:
r' )r r r tss r unixtimestamp_to_gm_datetimer3 ? s !"----r c t | d d }| d }|dk rt | S |dk rt | S |dk rt | S t d| d )
Nm)minutesh)hoursddayszError: period "zI" is incorrect. Please, specify minutes with m, hours with h, days with d)intr
ValueError)
period_strtime_num time_types r str_to_timedeltarB H s :crc?##H2IC****Cx((((Ch''''
4* 4 4 4 r c 0 | dd S )Nr )secondmicrosecond)replacer. s r round_1mrG W s
::QA:...r c R |pt j }| }|dk r&t | dd |fS |dk r9t | dd }|t d z
|fS |t
| z
|fS )z
Parses string period (in local time),
example values such are 'today', 'yesterday', '5m', '4h', etc
:param period_str:str:
:param now:
:return:
todayr )hourminute yesterday r; )r nowlowerrG rF r rB )r? rN valrI s r parse_periodrQ [ s
C
C
g~~15566;; !A6677ya((((%//%j111366r c ^ t t | S N)r% r3 isoformatr1 s r ts_to_isorU o s% 3B7788BBDDDr c g }dD ]E} t j | | c S # t $ r}| | Y d}~>d}~ww xY wt dg|R )z
Parses date time string specified into a naive date time object (timezone unaware),
that is expected to be in local time.
:param date_str:
:return:
)z%Y-%m-%dz%Y-%m-%d %H:%Mz%y-%m-%d %H:%Mz%y-%m-%dNz&please use [YY]YY-MM-DD[ HH:MM] format)r strptimer> append)date_strlast_exfexs r
parse_dater] s s G
I $Xq11111 NN2 =
H
H
H
HHs
AAAc | S # t $ r& | j | j | j dz dz z dz z dz cY S w xY w)z
Convert timedelta