
    ni
                     R    S SK JrJr  S SKJr  S SKJr  S SKJr  Sr	 " S S\
5      rg)	    )postdelete)loads)Video)stati  P c                   6    \ rS rSrS rS rS	S jrS rS rSr	g)
UploadSession   c                    Xl         X l        [        U5      R                  U l        U R                  USS.nUR                  U5        UR                  SU5      n[        U5      S   U l        SU l	        S U l
        S U l        g )Nh264)	file_size	file_nameprofilesz/videos/upload.jsonlocationinitialized)pandar   r   st_sizer   updater   r   r   statusvideoerror_message)selfr   r   kwargsparamsdatas         P/var/www/html/land-ocr/venv/lib/python3.13/site-packages/panda/upload_session.py__init__UploadSession.__init__	   sv    
"i00"

 	fzz/8dJ/#
!    c              #   b   #    Sn UR                  [        5      nU(       d  g X24v   US-   nM)  7f)Nr      )read
CHUNK_SIZE)r   file_objectir   s       r   _read_chunksUploadSession._read_chunks   s8     ##J/D)O!A s   -/c                    U R                   S:X  Ga  SU l         [        U R                  5       nUR                  U5         U R	                  U5       H  u  p4U[
        -  n[        U R                  SSSR                  X-   X-   [
        -   S-
  U R                  5      [        [
        5      S.US9nUR                  S	:X  a0  S
U l         [        U R                  UR                  5       S9U l        M  UR                  S:w  d  M  SU l           O    S S S 5        g ['        S5      e! [          a  nSU l         [        U5      U l        UeS nAf[$         a    SU l         SU l         NTf = f! , (       d  f       g = f)Nr   	uploadingapplication/octet-streamno-cachezbytes {0}-{1}/{2}r!   zContent-TypezCache-ControlzContent-RangezContent-Length)headersr      uploaded)	json_attr   errorinterruptedzAlready started)r   openr   seekr&   r#   r   r   formatr   strstatus_coder   r   jsonr   	Exceptionr   KeyboardInterruptKeyError)r   posfchunkr%   indexreses           r   startUploadSession.start#   sH   ;;-'%DKdnn%s7$($5$5a$8 !J"4==,F-7-@-G-G	SVS\]gSghiSikokyky-z.1*o	=
 !&' ??c1*4DK).tzzSXXZ)PDJ __3*1DK! %9 &%4 ,-- ! ")DK),QD&G( 7")DK)6D&7- &%sN   E&B=D"D"
E&D"E&"
E#,EE# E&"E##E&&
E4c                    U R                   S:w  as  [        U R                  SSSR                  U R                  5      SS.S9n[        UR                  S   R                  S	5      S
   5      nSU l         U R                  US9  g [        S5      e)Nr/   r*   r+   zbytes */{0}0r,   )r-   Range-r!   r   )r=   Already succeed)
r   r   r   r6   r   intr-   splitrC   r<   )r   rA   r=   s      r   resumeUploadSession.resumeB   s    ;;*$t}} :!+!.!5!5dnn!E"%	1 C ckk'*005a89C'DKJJ3J,--r   c                     U R                   S:w  a$  SU l         S U l        [        U R                  5      ng [	        S5      e)NsuccessabortedrI   )r   r   r   r   r<   )r   rA   s     r   abortUploadSession.abortP   s7    ;;)##DK!%D'C,--r   )r   r   r   r   r   r   r   N)r   )
__name__
__module____qualname____firstlineno__r   r&   rC   rL   rQ   __static_attributes__ r   r   r	   r	      s    "".>..r   r	   N)requestsr   r   r9   r   modelsr   osr   r#   objectr	   rX   r   r   <module>r]      s$    !   
N.F N.r   