
    i                     |    d dl Z d dlmZmZ d Zd Zd ZdedefdZd	e	d
e	de
e   dededededee
e   ef   fdZy)    N)DecimalROUND_HALF_UPc                 F    | | dk7  rt        |       j                         S dS )Nnull )strstripvalues    F/home/konnilol/Documents/work/radario-client-data/scripts/transform.pysafe_strr      s%    !&!2u3u:NBN    c                     	 | yt        t        t        |             j                  t        d      t              d      S # t
        $ r Y yw xY w)N0.00z0.01)roundingz.2f)formatr   r   quantizer   	Exceptionr
   s    r   format_moneyr   	   sS    =CJ((=(Q
 	
  s   A ;A 	AAc                    ddd}| r| dk(  s| |S 	 t        | t              rt        j                  |       n| }|r:|j	                  d      )t        |j	                  dd            j                         nd|r<|j	                  d      +t        |j	                  dd            j                         dS ddS # t        j                  t        t        f$ r |cY S w xY w)Nr   )tableseatr   zoneNamecolName)	
isinstancer   jsonloadsgetr	   JSONDecodeError	TypeError
ValueError)seat_info_strdefaultsparseds      r   parse_seat_infor%      s    R(HMV3}7L.8.LM*R_@F6::V`KaKmSJ34::<su>DT]I^IjC

9b1288:
 	
pr
 	
   )Z8 s   B!B8 4B8 8 CCticket_types_jsonreturnc                    i }| j                  d      r%| j                  d      r| d   j                  d      s|S | d   d   D ]  }t        |j                  dd            j                         }|s/|j                  dd      }t        |t              r9t	        |j                  d      D cg c]  }|j                         s| c}      nd}t        |      ||<    |S c c}w )	z;
    ticket_type_id -> seat count from seatsDescriptor
    successdataitemsidr   seatsDescriptor,r   )r   r   r	   r   lensplit)r&   seat_count_mapitemtt_id
seats_descscounts          r   map_ticket_type_seat_countsr7   $   s     N!!),1B1F1Fv1NSdekSlSpSpqxSy!&)'2DHHT2&'--/XX/4
HRS]_bHc
 0 0 5C 51Q 5CDij #E
u 3  Ds   ,C!
C!
event_titleevent_date_strticketsorder_info_mapticket_type_mapticket_type_seat_count_maphidden_columnsc                    g }d}|D ]  }	t        |	j                  d            }
|	j                  d      }|j                  |ddd      }t        |	j                  dd            }|j                  |d      }|j                  |d      }|s|r|dz  }t        |	j                  d	            }t        |	j                  d
            }t        t	        |      t	        |      z
        }i d| d|d|d|	j                  dd      dt        |	j                  d            d|d|
d   d|d|
d   d	|d
|d|d|d   d|d   dt        |	j                  d            dt        |	j                  d            }|j                         D ci c]  \  }}||vs|| }}}|j                  |        ||fS c c}}w )z`
    Returns (rows, unmapped_count)
    rows contain only visible columns (hidden removed).
    r   seatInfouserOrderIdr   r   )phonefull_amountr,      pricediscounttitledateorder_id	ticket_idticket_typeticketTypeTitleticket_type_idr   table_seats_countr   sumrC   rB   nameparticipantNameemail)r%   r   r   r   r   r   r+   append)r8   r9   r:   r;   r<   r=   r>   rowsunmapped_countsticket	seat_inforI   
order_infoticket_id_keyrM   rN   rE   rF   sum_valfull_rowkvvisible_rows                          r   
build_rowsr_   7   s5    DO#FJJz$:;	::m,#''Bv2VW
FJJtR01(,,]B?6::>2N ^q OVZZ01

: 67wu~0AAB
[
N
 

 D"-
 8FJJ/@$AB
 n
 Yw'
  !2
 If%
 U
 
  7!
" :m4#
$ Z(%
& HVZZ(9:;'
( Xfjj12)
. )1(8T(81A^<Sq!t(8TK O R    Us   F=F=)r   decimalr   r   r   r   r%   dictr7   r   listsettupleintr_    r   r   <module>rg      s     *O	4 D &3!s 3!C 3!$t* 3!#3!6:3!X\3!"3!',T$Z_'=3!r   