
    "hjO'                         d dl Z d dlZd dlZddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ d dlZ ej                  e      Z	  G d	 d
e      Zy)    N   )to_bytes)RequestError)SelectOperationFailed)SelectOperationClientError)InconsistentError)utilsc                   T    e Zd ZdZdZdZdZdZdZdZ	dd	Z
d
 Zd Zd Zd Zd Zd Zy)SelectResponseAdapteri    i  i  i  i  i  
   Nc                    || _         d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        || _	        d| _
        || _        |j                         | _        || _        d| _        |j                   j#                  dd      dk(  | _        |j                   j#                  dd      | _        d| _        d| _        d| _        y )Nr       zx-oss-select-output-raw truezx-oss-request-id)responseframe_off_setframe_length
frame_datacheck_sum_flagfile_offsetfinished
raw_bufferraw_buffer_offsetcallback!frames_since_last_progress_reportcontent_length__iter__resp_content_iter
enable_crcpayloadheadersgetoutput_raw_data
request_idsplitsrowscolumns)selfr   progress_callbackr   r   s        R/root/.hermes/SkillClaw/.venv/lib/python3.12/site-packages/oss2/select_response.py__init__zSelectResponseAdapter.__init__/   s    t}tttttt}t !t(t}01t-+t ( 1 1 3t#tt|&..223LbQU[[t!))--.@Dtt{tyt|r   c                 <    | j                   ryd}| D ]  }||z  }	 |S )Nr   )r   )r(   contentdatas      r*   readzSelectResponseAdapter.readF   s0    == 	DtOG	 r   c                     | S N r(   s    r*   r   zSelectResponseAdapter.__iter__P   s    r   c                 "    | j                         S r1   )nextr3   s    r*   __next__zSelectResponseAdapter.__next__S   s    yy{r   c                 N   | j                   dk(  r+t        | j                        }t        |      dk7  r|S t        | j
                  dk(  r| j                  | j                  k  r3| j                  | j                  | j                   }dx| _        | _        |S | j                          | xj                  dz  c_
        | j                  t        j                  k\  r9| j                  -| j                  | j                  | j                         d| _
        | j
                  dk(  rt        )NTr   r   )r#   r5   r   lenStopIterationr   r   r   r   read_next_framer   r   _FRAMES_FOR_PROGRESS_UPDATEr   r   r   )r(   r.   s     r*   r5   zSelectResponseAdapter.nextV   s	   4'//0TD	Q&&mmq !!D$5$55t'9'9D<M<MN9::!D$6$$&66!;6::>S>o>ootx  uB  uB  uNMM$"2"2D4G4GH=>D: mmq  r   c                 Z   d}d}|dkD  r | j                   dk(  rt        | j                        }|dk(  r>t        | j                        | _        d| _        t        | j                        }|dk(  r	 |S || j
                  z
  |k\  rV| j                  | j
                  | j
                  |z    }t        |      }| xj
                  |z  c_        ||z  }||z  }||z  }n:| j                  | j
                  d  }t        |      }||z  }||z  }||z  }d| _        |dkD  r| j                   dk(  r|S )Nr   r   )r   r8   r   r5   r   r   )r(   amtret
read_countsizer.   	data_sizedata_lens           r*   read_rawzSelectResponseAdapter.read_rawk   s8   
Ag$--1,t'Dqy"&t'='=">)*&4??+19" 
 d,,,3t'='=d>T>TWZ>Z[I	&&)3&ti'
y t'='='>?t9th&
x"%- Ag$--1,0 
r   c                    t        | j                  d            }t        | j                  d            }t        j                  |       t	        j
                  dt        |            d   }t        | j                  d            }d|d<   t        j                  |       t	        j
                  dt        |            d   }|t        j                  k7  r|t        j                  k7  r|t        j                  k7  rw|t        j                  k7  rd|t        j                  k7  rQt        j                  dj                  || j                                t#        | j                   dt%        |      z         | j                  |      | _        t        | j&                  dd       }t        j                  |       t	        j
                  dt        |            d   | _        |t        j                  k(  r,|dz
  | _        d| _        d| _        | j&                  dd  | _        t        | j                  d            }t        j                  |       t	        j
                  dt        |            d   }| j2                  rt        j4                         }	|	j7                  | j&                         |	j8                  }
||
k7  rat        j                  d	j                  ||
| j                                t;        d
t%        |      z   dz   t%        |
      z   | j                         y y |t        j                  k(  r'dx| _        | _        d| _        | j                  d       y |t        j                  k(  r'd| _        t        | j&                  dd       }t        | j&                  dd       }t        j                  |       t	        j
                  dt        |            d   }|dz
  }d}d}|dkD  r=| j&                  d|dz    }|j=                  d      }|dk\  r||dz
  k  r|d| }||dz   d  }|dz  dk7  rt?        |||      d| _        | j@                  &| jA                  | j(                  | jB                         | j                  d       d| _        d| _"        y |t        j                  k(  s|t        j                  k(  r	d| _        t        | j&                  dd       }t        | j&                  dd       }t        j                  |       t	        j
                  dt        |            d   }t        | j&                  dd       }t        j                  |       t	        j
                  dt        |            d   | _#        t        | j&                  dd       }t        j                  |       t	        j
                  dt        |            d   | _$        d}|t        j                  k(  rUt        | j&                  dd       }t        j                  |       t	        j
                  dt        |            d   | _%        nd}||z
  }d}d}|dkD  r=| j&                  |||z    }|j=                  d      }|dk\  r||dz
  k  r|d| }||dz   d  }| j                  d       || _&        d| _        d| _"        |dz  dk7  rt?        |||      y y )N   Ir   zZUnexpected frame type: {0}. RequestId:{1}. This could be due to the old version of client.zUnexpected frame type:   Qr   z@Incorrect checksum: Actual {0} and calculated {1}. RequestId:{2}zIncorrect checksum: Actualz. Calculated:      r      .d             $   )'	bytearrayrC   r	   change_endianness_if_neededstructunpackbytesr   _DATA_FRAME_TYPE_CONTINIOUS_FRAME_TYPE_END_FRAME_TYPE_META_END_FRAME_TYPE_JSON_META_END_FRAME_TYPEloggerwarningformatr$   r   strr    r   r   r   r   r   r   Crc32updatecrcr   findr   r   r   r   r%   r&   r'   final_status)r(   
frame_typepayload_lengthpayload_length_valheader_checksumframe_type_valfile_offset_byteschecksumchecksum_valcrc32checksum_calcscanned_size_bytesstatus_bytesstatuserror_msg_size	error_msg
error_codeerror_code_indexsplits_byteslines_byteserror_indexcolumn_bytes
error_sizes                          r*   r:   z%SelectResponseAdapter.read_next_frame   s]   t}}Q/0
"4==#34)).9#]]3n0EFqI#DMM!$45
1))*5sE*,=>qA3DDD3JJJ3CCC3HHH3MMM{   C   C  DR  TX  Tc  Tc   d  e0BZ]`ao]pBpqq}}%78%dll1Q&78))*;<!==e4E.FGJ2CCC 2Q 6D!"D !D"ll12.DO q!12H--h7!==eHo>qALT\\* %		=0NN#e#l#lmy  |I  KO  KZ  KZ  $[  \+,H3|K\,\_n,nqt  vC  rD  -D  FJ  FU  FU  V  V 1	  4KKK566D 2 !DMM!4DDD!"D!*4<<"+=!>$T\\"R%89L--l;]]3l(;<Q?F/"4NIJ! LLNR,?@	#,>>$#7 #q(-=QR@R-R!*1-=!>J )*:Q*>*? @I}!+FJ	JJ !D}}(d..0C0CDMM! !DDM4III^_t  `O  `O  NO!"D!*4<<"+=!>$T\\"R%89L--l;]]3l(;<Q?F$T\\"R%89L--l; --U<-@A!DDK#DLLB$78K--k:sE+,>?BDIK!6!K!KK(b)<=11,?%}}S%2EFqI +k9JIJQ LL[:5MN	#,>>$#7 #q(-=
Q-N!*1-=!>J )*:Q*>*? @IMM! &D !DDM!+FJ	JJ "G NOr   )NNF)__name__
__module____qualname___CHUNK_SIZErW   rV   rX   rY   rZ   r;   r+   r/   r   r6   r5   rC   r:   r2   r   r*   r   r   %   sO    K"O" '"$.*:fKr   r   )platformrS   requestscompatr   
exceptionsr   r   r   r   r   r	   logging	getLoggerrz   r[   objectr   r2   r   r*   <module>r      sJ        $ - 2 )  			8	$.IKF IKr   