
    Ri                     p    S r SSKrSSKJr  SSKJr  SSKJr  SSKJ	r	J
r
   " S S\5      r " S	 S
\5      rg)z+
SubRip's time format parser: HH:MM:SS,mmm
    N)time)InvalidTimeString)ComparableMixin)str
basestringc                   0    \ rS rSrSS jrS rS rS rSrg)	TimeItemDescriptor   c                 D    [        U5      U l        [        U5      U l        g N)intratiosuper_ratio)selfr   r   s      _/var/www/html/backend/Backoffice_Marketplace/venv/lib/python3.13/site-packages/pysrt/srttime.py__init__TimeItemDescriptor.__init__   s    Z
{+    c                 n    U R                   (       a  UR                  U R                   -  $ UR                  $ r   )r   ordinal)r   instances     r   _get_ordinalTimeItemDescriptor._get_ordinal   s.    ##d&6&666r   c                 P    Uc  [         eU R                  U5      U R                  -  $ r   )AttributeErrorr   r   )r   r   klasss      r   __get__TimeItemDescriptor.__get__   s(        *djj88r   c                     U R                  U5      UR                  U R                  -  -
  nU=R                  X R                  -  U-
  -  sl        g r   )r   r   r   )r   r   valueparts       r   __set__TimeItemDescriptor.__set__   sC      *X-=-=

-JJEJJ.55r   )r   r   N)r   )	__name__
__module____qualname____firstlineno__r   r   r   r"   __static_attributes__ r   r   r	   r	      s    , 
9
6r   r	   c                   ~  ^  \ rS rSrSrSr\R                  " S5      r\R                  " S5      r	Sr
\
S-  r\S-  r\" \5      r\" \\5      r\" \
\5      r\" S\
5      rSU 4S	 jjrS
 rS rU 4S jrS rS rS rS rS rS rS r\S 5       rS rS r \S 5       r!\S 5       r"\S 5       r#\S 5       r$S r%Sr&U =r'$ )
SubRipTime"   z%02d:%02d:%02d,%03dzSubRipTime(%d, %d, %d, %d)z\:|\.|\,z^(\d+)  <      c                    > [         [        U ]  5         XR                  -  X R                  -  -   X0R
                  -  -   U-   U l        g)zn
SubRipTime(hours, minutes, seconds, milliseconds)

All arguments are optional and have a default value of 0.
N)superr+   r   HOURS_RATIOMINUTES_RATIOSECONDS_RATIOr   )r   hoursminutessecondsmilliseconds	__class__s        r   r   SubRipTime.__init__0   sN     	j$(*///!3!334!3!334 $$r   c                 2    U R                   [        U 5      -  $ r   )	TIME_REPRtupler   s    r   __repr__SubRipTime.__repr__<   s    ~~d++r   c                     U R                   S:  a  [        [        R                  S5      5      $ U R                  [        U 5      -  $ Nr   )r   r   r+   from_ordinalTIME_PATTERNr=   r>   s    r   __str__SubRipTime.__str__?   s9    <<!z..q122  5;..r   c                 J   > [         [        U ]  U R                  U5      U5      $ r   )r1   r+   _comparecoerce)r   othermethodr9   s      r   rH   SubRipTime._compareE   s     Z/E0BFKKr   c                     U R                   $ r   r   r>   s    r   _cmpkeySubRipTime._cmpkeyH   s    ||r   c                 p    U R                  U R                  U R                  U5      R                  -   5      $ r   rC   r   rI   r   rJ   s     r   __add__SubRipTime.__add__K   +      E0B0J0J!JKKr   c                 b    U =R                   U R                  U5      R                   -  sl         U $ r   r   rI   rS   s     r   __iadd__SubRipTime.__iadd__N   $    E*222r   c                 p    U R                  U R                  U R                  U5      R                  -
  5      $ r   rR   rS   s     r   __sub__SubRipTime.__sub__R   rV   r   c                 b    U =R                   U R                  U5      R                   -  sl         U $ r   rX   rS   s     r   __isub__SubRipTime.__isub__U   r[   r   c                 b    U R                  [        [        U R                  U-  5      5      5      $ r   )rC   r   roundr   r   r   s     r   __mul__SubRipTime.__mul__Y   s&      U4<<%+?%@!ABBr   c                 R    [        [        U R                  U-  5      5      U l        U $ r   )r   rc   r   rd   s     r   __imul__SubRipTime.__imul__\   s!    5!567r   c                 P   [        U[        5      (       a  U$ [        U[        5      (       a  U R                  U5      $ [        U[        5      (       a  U R                  U5      $ [        U[        5      (       a  U R                  U5      $  U " S0 UD6$ ! [         a    U " U6 s $ f = f)z
Coerce many types to SubRipTime instance.
Supported types:
  - str/unicode
  - int/long
  - datetime.time
  - any iterable
  - dict
r)   )	
isinstancer+   r   from_stringr   rC   r   	from_time	TypeError)clsrJ   s     r   rI   SubRipTime.coerce`   s     eZ((LeZ((??5))eS!!##E**eT""==''	<< 	;	s   B B%$B%c              #   |   #    U R                   v   U R                  v   U R                  v   U R                  v   g 7fr   r5   r6   r7   r8   r>   s    r   __iter__SubRipTime.__iter__x   s/     jjlllls   :<c                 ^    SU;   a  XR                  S5      -  n X R                  " U0 UD6-  n g)zi
shift(hours, minutes, seconds, milliseconds)

All arguments are optional and have a default value of 0.
r   N)popr9   )r   argskwargss      r   shiftSubRipTime.shift~   s3     fJJw''D///r   c                      U " [        U5      S9$ )zB
int -> SubRipTime corresponding to a total count of milliseconds
)r8   )r   )ro   r   s     r   rC   SubRipTime.from_ordinal   s    
 G--r   c                    ^  T R                   R                  U5      n[        U5      S:w  a  [        eT " U 4S jU 5       6 $ )zY
str/unicode(HH:MM:SS,mmm) -> SubRipTime corresponding to serial
raise InvalidTimeString
   c              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   )	parse_int).0iro   s     r   	<genexpr>)SubRipTime.from_string.<locals>.<genexpr>   s     5u!S]]1%%us   !)RE_TIME_SEPsplitlenr   )ro   sourceitemss   `  r   rl   SubRipTime.from_string   s;     %%f-u:?##5u566r   c                      [        U5      $ ! [         a@    U R                  R                  U5      nU(       a  [        UR	                  5       5      s $  gf = frB   )r   
ValueError
RE_INTEGERmatchgroup)ro   digitsr   s      r   r   SubRipTime.parse_int   sK    	v; 	NN((0E5;;=))		s   
 AAAc                 j    U " UR                   UR                  UR                  UR                  S-  S9$ )z:
datetime.time -> SubRipTime corresponding to time object
r-   rr   )hourminutesecondmicrosecond)ro   r   s     r   rm   SubRipTime.from_time   s3    
 fmmMM0B0Bd0JL 	Lr   c                 t    [        U R                  U R                  U R                  U R                  S-  5      $ )z>
Convert SubRipTime instance into a pure datetime.time object
r-   )r   r5   r6   r7   r8   r>   s    r   to_timeSubRipTime.to_time   s1     DJJdll%%,. 	.r   rN   )r   r   r   r   )(r$   r%   r&   r'   rD   r<   recompiler   r   r4   r3   r2   r	   r5   r6   r7   r8   r   r?   rE   rH   rO   rT   rY   r]   r`   re   rh   classmethodrI   rs   ry   rC   rl   r   rm   r   r(   __classcell__)r9   s   @r   r+   r+   "   s%   (L,I**[)KI&JM!B&M"$K{+E <G >G%a7L
$,/LLLC  . 0 . . 7 7   L L. .r   r+   )__doc__r   datetimer   pysrt.srtexcr   pysrt.comparablemixinr   pysrt.compatr   r   objectr	   r+   r)   r   r   <module>r      s5    
  * 1 (6 6*O. O.r   