
    =	f3                        d dl Z ddl dZdZdZdZ G d de      Z G d d	e      Ze	d
k(  re
j                  d       d dlZ e       Zej                   edded             ej                   edded              ej                         Zej#                  e       e
j%                  ej'                                yy)    N   )*      c                       e Zd Zd Zy)Recordc                 <    || _         || _        || _        || _        y N)idtyptyp_codepayload)selfr   r   r   r   s        /usr/share/hplip/base/dime.py__init__zRecord.__init__$   s         N)__name__
__module____qualname__r    r   r   r   r   #   s    r   r   c                   (    e Zd Zd Zd Zd ZefdZy)Messagec                     g | _         y r
   )records)r   s    r   r   zMessage.__init__,   s	    r   c                 :    | j                   j                  |       y r
   )r   append)r   recs     r   
add_recordzMessage.add_record/   s    C r   c           	         t        | j                        D ]  \  }}t        j                  d||j                  fz         dx}x}}|dk(  rd}|t        | j                        dz
  k(  rd}|j                  t        j                  dt        dz  dz  |dz  dz  z  |dz  dz  z  |dz  z               |j                  t        j                  d|j                  dz  d	z  d
z               |j                  t        j                  dd             | j                  t        |j                              }|j                  t        j                  dt        |j                                     | j                  t        |j                              }|j                  t        j                  dt        |j                                     | j                  t        |j                              }	|j                  t        j                  dt        |j                                     |r2|j                  t        j                  d|z  |j                               |r2|j                  t        j                  d|z  |j                               |	sy|j                  t        j                  d|	z  |j                                y )NzProcessing record %d (%s)r   r   z!B      r      r      z!Hz!Iz%ds)	enumerater   logdebugr   lenwritestructpackDIME_VERSIONr   bytes_neededr   r   )
r   outputirmbmecfid_lentyp_lendata_lens
             r   generatezMessage.generate2   s   dll+ 	GDAqII1QI=>BbAvArC%a''aLLT\D-@Q,F-/$Y1,<-=-/$Y1,<-= .0$Y-8 : ;
 LLTQZZ#-=!,Ct+KLMLLT1-.&&s144y1FLLT3qtt956''AEE
3GLLT3quu:67((QYY8HLLT3qyy>:;V[[>?V[[!%%@AV[[)9199EF?	Gr   c                 >    ||z  dk(  r|S t        ||z  dz         |z  S )Nr   r   )int)r   r5   
block_sizes      r   r,   zMessage.bytes_neededU   s.    j A%O+A-.
::r   N)r   r   r   r   r   r6   PAD_SIZEr,   r   r   r   r   r   +   s    ! GF 19 ;r   r   __main__r&   zcid:id0z)http://schemas.xmlsoap.org/soap/envelope/z<test>test</test>test2ztext/xmlz<test>test2</test>)r)   gTYPE_T_MIME
TYPE_T_URIr+   r:   objectr   r   r   r%   	set_leveliomr   StringIOr-   r6   log_datagetvaluer   r   r   <module>rG      s   .   
V .;f .;f zMM'	ALL	#N"$79 : LL[:NOPR[[]FJJvLL"# r   