
    5j                         S SK Jr  S SKJr  SSKJr  SSKJr   " S S\5      r " S S	\5      r	\	 V s/ s H  o PM     sn r
 \
S
S r \
SS
 r\" \	SS9rS\\\	\4   S\4S jrg
s  sn f )    )Enum)Union   )make_enum_arg_parser)StrEnumc                       \ rS rSrSrSrSrg)DayIntervalType   r       N)__name__
__module____qualname____firstlineno__INTRAINTER__static_attributes__r       [/root/lseg-credit/backend/venv/lib/python3.13/site-packages/lseg/data/content/_intervals.pyr	   r	      s    EEr   r	   c                   h    \ rS rSrSrSrSrSrSrSr	Sr
SrSrS	rS
rS
rSrSrSrSrSrSrSrSrSrSrg)	Intervals   a  
The list of interval types of the boundary is described below.

The supported values of intervals :

    Time:

    Backend will return complete N-minute summaries data.
    When the request start and/or end does not at the N minutes boundary,
    the response will be adjusted.

        MINUTE - return complete 1-minute
        ONE_MINUTE - return complete 1-minute
        FIVE_MINUTES - return complete 5-minutes
        TEN_MINUTES - return complete 10-minutes
        THIRTY_MINUTES - return complete 30-minutes
        SIXTY_MINUTES - return complete 60-minutes
        ONE_HOUR - return complete 1-hour
        HOURLY - return complete 1-hour

    Days:

        DAILY - This is end of day, daily data
        ONE_DAY - This is end of day, daily data
        SEVEN_DAYS - Weekly boundary based on the exchange's
                     week summarization definition
        WEEKLY - Weekly boundary based on the exchange's
        ONE_WEEK - Weekly boundary based on the exchange's
                 week summarization definition
        MONTHLY - Monthly boundary based on calendar month
        ONE_MONTH - Monthly boundary based on calendar month
        THREE_MONTHS - Quarterly boundary based on calendar quarter
        QUARTERLY - Quarterly boundary based on calendar quarter
        TWELVE_MONTHS - Yearly boundary based on calendar year
        YEARLY - Yearly boundary based on calendar year
        ONE_YEAR - Yearly boundary based on calendar year
PT1MPT5MPT10MPT30MPT60MPT1HP1DP7DP1WP1MP3MP12MP1Yr   N)r   r   r   r   __doc__MINUTE
ONE_MINUTEFIVE_MINUTESTEN_MINUTESTHIRTY_MINUTESSIXTY_MINUTESHOURLYONE_HOURDAILYONE_DAY
SEVEN_DAYSWEEKLYONE_WEEKMONTHLY	ONE_MONTHTHREE_MONTHS	QUARTERLYTWELVE_MONTHSYEARLYONE_YEARr   r   r   r   r   r      sn    $L FJLKNMFHEGJFHGILIMFHr   r   N   T)can_be_lowerintervalreturnc                     [        U [        5      (       a  U $ [        R                  U 5      n U [        ;   a  [        R
                  nU$ U [        ;   a  [        R                  nU$ [        SU  S35      e)Nz!Incorrect day interval, interval=.)	
isinstancer	   interval_arg_parserget_str	_INTRADAYr   	_INTERDAYr   	TypeError)r=   day_interval_types     r   get_day_interval_typerH   S   su    (O,,"**84H9+11  
Y	+11
  ;H:QGHHr   )enumr   typingr   _toolsr   
_base_enumr   r	   r   _ISO8601_INTERVALSrD   rE   rB   strrH   )ks   0r   <module>rP      s      )  d 
: :z "++Aa+  9r"	 8qr"	*94H E#y/*I$J   ,s   A$