Ë qÚ�©ð€§ãóè—ddlmZddlZddlZddlmZddlmZdZdZ dZ dZ dZ d Z d Zd Zd Zd ZdZdZdZej*d«Zd„ZGd„d«Zd„Zddd„Zd„Zd„ZGd„de«Zd„Zd„Zy)é)Ú annotationsN)Ú HTMLParser)ÚAnyéééé é é é ééééÚbase_align_valuez\033\[[0-9;]*m|\033\(Bcóf—|jd«}t|«}td„|D««}||fS)NÚ c3ó2K—|]}t|«–—Œy­w©N©Ú_str_block_width)Ú.0Úlines úz_get_size..@sèø€Ð9±5¨4Ô  ×&±5ùs‚)ÚsplitÚlenÚmax)ÚtextÚlinesÚheightÚwidths rÚ _get_sizer#=s3€Ø �J‰J�tÓ €EÜ �‹Z€FÜ Ñ9±5Ó9Ó 9€EØ �&ˆ=Ðócó\ —eZdZd d¡d„Zd„Zd„Zd„Zd¢d„Zd¢d„Zd„Z d¡d „Z d „Z d „Z d „Z d „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zed£d„«Zed¤d„«Zed¥d„«Zej>d¡d„«Zed„«Z e j>d„«Z ed „«Z!e!j>d¡d!„«Z!ed"„«Z"e"j>d¡d#„«Z"ed$„«Z#e#j>d¡d%„«Z#ed&„«Z$e$j>d¡d'„«Z$ed(„«Z%e%j>d¡d)„«Z%ed*„«Z&e&j>d¡d+„«Z&ed,„«Z'e'j>d¡d-„«Z'ed.„«Z(e(j>d¡d/„«Z(ed0„«Z)e)j>d¡d1„«Z)ed2„«Z*e*j>d¡d3„«Z*ed4„«Z+e+j>d¡d5„«Z+ed6„«Z,e,j>d¡d7„«Z,ed8„«Z-e-j>d¡d9„«Z-ed:„«Z.e.j>d¡d;„«Z.ed<„«Z/e/j>d¡d=„«Z/ed>„«Z0e0j>d¡d?„«Z0ed@„«Z1e1j>d¡dA„«Z1edB„«Z2e2j>d¡dC„«Z2edD„«Z3e3j>d¡dE„«Z3edF„«Z4e4j>d¡dG„«Z4edH„«Z5e5j>d¡dI„«Z5edJ„«Z6e6j>d¡dK„«Z6edL„«Z7e7j>dM„«Z7edN„«Z8e8j>d¡dO„«Z8edP„«Z9e9j>d¡dQ„«Z9edR„«Z:e:j>d¡dS„«Z:edT„«Z;e;j>d¡dU„«Z;edV„«Zd¡dW„«Zd¡dY„«Z=edZ„«Z>e>j>d¡d[„«Z>ed\„«Z?e?j>d¡d]„«Z?ed^„«Z@e@j>d¡d_„«Z@ed`„«ZAeAj>d¡da„«ZAedb„«ZBeBj>d¡dc„«ZBedd„«ZCeCj>d¡de„«ZCedf„«ZDeDj>d¡dg„«ZDedh„«ZEeEj>d¡di„«ZEedj„«ZFeFj>d¡dk„«ZFedl„«ZGeGj>d¡dm„«ZGedn„«ZHeHj>d¡do„«ZHedp„«ZIeIj>d¡dq„«ZIedr„«ZJeJj>d¡ds„«ZJdt„ZKd¡du„ZLd¡dv„ZMd¡dw„ZNd¡dx„ZOd¡dy„ZPd¡dz„ZQd¡d{„ZRd¡d|„ZSd¡d}„ZTd¡d~„ZUdd€œd¦d�„ZVd¡d‚„ZW d§ d¨dƒ„ZXd©dªd„„ZYd¡d…„ZZd¡d†„Z[d¡d‡„Z\dˆ„Z]d«d¬d‰„Z^dŠ„Z_d‹„Z`d¡dŒ„Zad�„ZbdŽ„Zcd�„Zdd�„Zed‘„Zfd¢d’„Zgd­d®d“„Zhd”„Zid•„Zjd–„Zkd¯d°d—„Zld¢d˜„Zmd¢d™„Znd¢dš„Zod›„Zpdœ„Zqd¢d�„Zrdž„ZsdŸ„Zty)±Ú PrettyTableNc ót—|jdd«|_g|_g|_g|_i|_i|_i|_i|_i|_ i|_ i|_ |r||_ ng|_ gd¢|_|jD]!}||vr|j|||«Œd||<Œ#|dxsd|_|dxsd|_|dxsd|_|d xsd|_i|_|d d vr |d |_nd |_|d xsd|_|dd vr |d|_nd |_|dd vr |d|_nd|_|dxst2|_|dxst6|_|dxsd|_|dd vr |d|_nd|_|dxsd„|_|dxsi|_|dxsi|_|dxsi|_|dxsi|_|dxsi|_ |dxsi|_ |dxsi|_ |dxsi|_ |dxsd|_!|d xsd|_"|d!€d"|_#n |d!|_#|d#xsd|_$|d$xsd|_%|d%xsd&|_&|d'xsd(|_'|d)|_(|d*xsd+|_)|d,|_*|d-|_+|d.|_,|d/|_-|d0|_.|d1|_/|d2|_0|d3|_1|d4d vr |d4|_2nd |_2|d5d vr |d5|_3nd|_3|d6xsd|_4|d7xsd|_5|d8xsi|_6y)9aý Return a new PrettyTable instance Arguments: encoding - Unicode encoding scheme used to decode any encoded input title - optional table title field_names - list or tuple of field names fields - list or tuple of field names to include in displays start - index of first data row to include in output end - index of last data row to include in output PLUS ONE (list slice style) header - print a header showing field names (True or False) header_style - stylisation to apply to field names in header ("cap", "title", "upper", "lower" or None) border - print a border around the table (True or False) preserve_internal_border - print a border inside the table even if border is disabled (True or False) hrules - controls printing of horizontal rules after rows. Allowed values: FRAME, HEADER, ALL, NONE vrules - controls printing of vertical rules between columns. Allowed values: FRAME, ALL, NONE int_format - controls formatting of integer data float_format - controls formatting of floating point data custom_format - controls formatting of any column using callable min_table_width - minimum desired table width, in characters max_table_width - maximum desired table width, in characters min_width - minimum desired field width, in characters max_width - maximum desired field width, in characters padding_width - number of spaces on either side of column data (only used if left and right paddings are None) left_padding_width - number of spaces on left hand side of column data right_padding_width - number of spaces on right hand side of column data vertical_char - single character string used to draw vertical lines horizontal_char - single character string used to draw horizontal lines horizontal_align_char - single character string used to indicate alignment junction_char - single character string used to draw line junctions top_junction_char - single character string used to draw top line junctions bottom_junction_char - single character string used to draw bottom line junctions right_junction_char - single character string used to draw right line junctions left_junction_char - single character string used to draw left line junctions top_right_junction_char - single character string used to draw top-right line junctions top_left_junction_char - single character string used to draw top-left line junctions bottom_right_junction_char - single character string used to draw bottom-right line junctions bottom_left_junction_char - single character string used to draw bottom-left line junctions sortby - name of field to sort rows by sort_key - sorting key function, applied to data points before sorting align - default align for each column (None, "l", "c" or "r") valign - default valign for each row (None, "t", "m" or "b") reversesort - True or False to sort in descending or ascending order oldsortslice - Slice rows before sorting in the "old style" ÚencodingzUTF-8),ÚtitleÚstartÚendÚfieldsÚheaderÚborderÚpreserve_internal_borderÚsortbyÚ reversesortÚsort_keyÚ attributesÚformatÚhrulesÚvrulesÚ int_formatÚ float_formatÚ custom_formatÚmin_table_widthÚmax_table_widthÚ padding_widthÚleft_padding_widthÚright_padding_widthÚ vertical_charÚhorizontal_charÚhorizontal_align_charÚ junction_charÚ header_styleÚvalignÚxhtmlÚ print_emptyÚ oldsortsliceÚtop_junction_charÚbottom_junction_charÚright_junction_charÚleft_junction_charÚtop_right_junction_charÚtop_left_junction_charÚbottom_right_junction_charÚbottom_left_junction_charÚalignrDÚ max_widthÚ min_widthÚ none_formatNr)r*rr+r,r-©TFTrCr.r/Fr5r6r0r1r2có—|Sr©)Úxs rÚz&PrettyTable.__init__..às€¹!r$rPrDrQrRr7r8r9rSr:r;r<rr=r>r?Ú|r@Ú-rArBÚ+rHrIrJrKrLrMrNrOrFrGr4rEr3)7Úgetr(Ú _field_namesÚ_rowsÚ _dividersrPrDrQrRr7r8r9Ú field_namesÚ_widthsÚ_optionsÚ_validate_optionÚ_titleÚ_startÚ_endÚ_fieldsÚ _none_formatÚ_headerÚ _header_styleÚ_borderÚ_preserve_internal_borderÚFRAMEÚ_hrulesÚALLÚ_vrulesÚ_sortbyÚ _reversesortÚ _sort_keyrSÚ_min_table_widthÚ_max_table_widthÚ_padding_widthÚ_left_padding_widthÚ_right_padding_widthÚ_vertical_charÚ_horizontal_charÚ_horizontal_align_charÚ_junction_charÚ_top_junction_charÚ_bottom_junction_charÚ_right_junction_charÚ_left_junction_charÚ_top_right_junction_charÚ_top_left_junction_charÚ_bottom_right_junction_charÚ_bottom_left_junction_charÚ _print_emptyÚ _oldsortsliceÚ_formatÚ_xhtmlÚ _attributes)Úselfr`ÚkwargsÚoptions rÚ__init__zPrettyTable.__init__Esþ€ðpŸ ™  :¨wÓ7ˆŒ ð(*ˆÔØ!#ˆŒ Ø%'ˆŒØˆŒ ؈Œ ؈ŒØˆŒØˆŒØˆÔ؈Ôá Ø*ˆDÕ à&(ˆDŒLò- ˆŒ ð\—m”mˆFØ˜ÑØ×%Ñ% f¨f°V©nÕ=à!%��v’ð $ð ˜W‘oÒ-¨ˆŒ ؘW‘oÒ*¨ˆŒ ؘ5‘MÒ) TˆŒ ؘhÑ'Ò/¨4ˆŒ Ø.0ˆÔà �(Ñ ˜}Ñ ,Ø! (Ñ+ˆD�LàˆDŒLØ# NÑ3Ò;°tˆÔØ �(Ñ ˜}Ñ ,Ø! (Ñ+ˆD�LàˆDŒLØ Ð,Ñ -°Ñ >Ø-3Ð4NÑ-OˆDÕ *à-2ˆDÔ *ؘhÑ'Ò0¬5ˆŒ ؘhÑ'Ò.¬3ˆŒ à˜hÑ'Ò/¨4ˆŒ Ø �-Ñ  MÑ 1Ø & }Ñ 5ˆDÕ à %ˆDÔ Ø  Ñ+Ò<± ˆŒð˜G‘_Ò*¨ˆŒ ؘXÑ&Ò,¨"ˆŒ Ø  Ñ,Ò2°ˆŒØ  Ñ,Ò2°ˆŒØ  Ñ.Ò4°"ˆŒØ" >Ñ2Ò8°bˆÔØ# OÑ4Ò:¸ˆÔØ! -Ñ0Ò6°BˆÔà &Ð'8Ñ 9Ò A¸TˆÔØ &Ð'8Ñ 9Ò A¸TˆÔØ �/Ñ "Ð *Ø"#ˆDÕ à"(¨Ñ"9ˆDÔ Ø#)Ð*>Ñ#?Ò#GÀ4ˆÔ Ø$*Ð+@Ñ$AÒ$IÀTˆÔ!à$ _Ñ5Ò<¸ˆÔØ &Ð'8Ñ 9Ò @¸SˆÔØ&,Ð-DÑ&EˆÔ#Ø$ _Ñ5Ò<¸ˆÔØ"(Ð)<Ñ"=ˆÔØ%+Ð,BÑ%CˆÔ"Ø$*Ð+@Ñ$AˆÔ!Ø#)Ð*>Ñ#?ˆÔ Ø(.Ð/HÑ(IˆÔ%Ø'-Ð.FÑ'GˆÔ$Ø+1Ð2NÑ+OˆÔ(Ø*0Ð1LÑ*MˆÔ'à �-Ñ  MÑ 1Ø & }Ñ 5ˆDÕ à $ˆDÔ Ø �.Ñ ! ]Ñ 2Ø!'¨Ñ!7ˆDÕ à!&ˆDÔ Ø˜hÑ'Ò0¨5ˆŒ ؘW‘oÒ.¨ˆŒ Ø! ,Ñ/Ò5°2ˆÕr$cóü—|t|«z }|dk(r||dzzS|dk(r|dz|zS|dzrÕ ?ð"ä��Xœw t¨XÓ6Ô7Ü �eœUÔ #Ø—z‘z %Ô(�Ø— ‘ ˜CÕ ð)ðˆ ô ˜œsÔ #Ø �K‰K˜Ÿ ™  5Ñ)Ô *ðˆ ð˜5˜'Ð!IÐJˆCܘS“/Ð !r$có"—|j«Sr©Ú get_string©rŠs rÚ__str__zPrettyTable.__str__@ó€Ø�‰Ó Ð r$có"—|j«Srr«r­s rÚ__repr__zPrettyTable.__repr__Cr¯r$có"—|j«S)zs Returns get_html_string value by default as the repr call in Jupyter notebook environment )Úget_html_stringr­s rÚ _repr_html_zPrettyTable._repr_html_Fs€ð ×#Ñ#Ó%Ð%r$có—|dk(r|j|«y|dk(r|j|«y|dvr|j||«y|dk(r|j||«y|dk(r|j ||«y|dk(r|j ||«y|dk(r|j ||«y|dk(r|j||«y|d vr|j||«y|d k(r|j|«y|d k(r|j||«y|d k(r|j||«y|d k(r0|j«D]\}}|j |›d|›�|«Œy|dvr|j||«y|dk(r|j||«yy)Nr`rS) r*r+rQrRr:r;r<r=r>r4r0r2r5r6r,)r-r.r/r1rErFrGrCr7r8r9Ú.) r?r@rArBrHrIrJrKrLrMrNrOr3)Ú_validate_field_namesÚ_validate_none_formatÚ_validate_nonnegative_intÚ_validate_field_nameÚ_validate_functionÚ_validate_hrulesÚ_validate_vrulesÚ_validate_all_field_namesÚ_validate_true_or_falseÚ_validate_header_styleÚ_validate_int_formatÚ_validate_float_formatÚitemsÚ_validate_single_charÚ_validate_attributes)rŠrŒÚvalÚkÚ formatters rrczPrettyTable._validate_optionZsœ€Ø �]Ò "Ø × &Ñ & sÕ +Ø �}Ò $Ø × &Ñ & sÕ +Ø ð  ñ  ð × *Ñ *¨6°3Õ 7Ø �xÒ Ø × %Ñ % f¨cÕ 2Ø �zÒ !Ø × #Ñ # F¨CÕ 0Ø �xÒ Ø × !Ñ ! &¨#Õ .Ø �xÒ Ø × !Ñ ! &¨#Õ .Ø �xÒ Ø × *Ñ *¨6°3Õ 7Ø ð ñ ð × (Ñ (¨°Õ 5Ø �~Ò %Ø × 'Ñ '¨Õ ,Ø �|Ò #Ø × %Ñ % f¨cÕ 2Ø �~Ò %Ø × 'Ñ '¨°Õ 4Ø �Ò &Ø #§ ¡ ¦ ‘ ��9Ø×'Ñ'¨6¨(°!°A°3¨¸ÕCñ!,à ð  ñ  ð × &Ñ & v¨sÕ 3Ø �|Ò #Ø × %Ñ % f¨cÕ 2ð$r$cóB—|jr% t|«t|j«k(sJ‚ |jr( t|«t|jd«k(sJ‚ t|«tt |««k(sJ‚y#t$r1dt|«›dt|j«›d�}t|«‚wxYw#t$r4dt|«›dt|jd«›d�}t|«‚wxYw#t$rd}t|«‚wxYw)Nz9Field name list has incorrect number of values, (actual) ú!=ú (expected)rzField names must be unique)r]rÚAssertionErrorÚ ValueErrorr^Úset©rŠrÆr¨s rr·z!PrettyTable._validate_field_names›s-€à × Ò ð &ܘ3“x¤3 t×'8Ñ'8Ó#9Ò9Ð9Ñ9ð �:Š:ð &ܘ3“x¤3 t§z¡z°!¡}Ó#5Ò5Ð5Ñ5ð "Ü�s“8œs¤3 s£8›}Ò,Ð ,Ñ,øô#"ò &ð Ü # C£˜z¨¬C°×0AÑ0AÓ,BÐ+CÀ;ðPðô! “oÐ%ð  &ûô"ò &ð Ü # C£˜z¨¬C°· ± ¸1± Ó,>Ð+?¸{ðLðô! “oÐ%ð  &ûôò "Ø.ˆCܘS“/Ð !ð "ús"Ž#B ¿&CÁ'"D :CÃ=DÄDcód— |�t|t«sJ‚yy#t$rd}t|«‚wxYw)Nz>Replacement for None value must be a string if being supplied.)rŸÚstrrÌÚ TypeErrorrÏs rr¸z!PrettyTable._validate_none_format¶s?€ð !؈Ü! #¤sÔ+Ð+Ñ+ðøäò !ØRˆCܘC“.Ð ð !ús‚˜/cóF— |dvsJ‚y#t$rd}t|«‚wxYw)N)Úcapr)ÚupperÚlowerNz:Invalid header style, use cap, title, upper, lower or None©rÌrÍrÏs rrÀz"PrettyTable._validate_header_style¾s4€ð "ØÐBÑBÐ BÑBøÜò "ØNˆCܘS“/Ð !ð "ús‚ ‰ cóN— |dvsJ‚y#t$rd|›d�}t|«‚wxYw)N)r�Úcr‘ú Alignment z is invalid, use l, c or rr×rÏs rÚ_validate_alignzPrettyTable._validate_alignÅs=€ð "ؘ/Ñ)Ð )Ñ)øÜò "ؘs˜eÐ#=Ð>ˆCܘS“/Ð !ð "úó‚ ‰$cóN— |dvsJ‚y#t$rd|›d�}t|«‚wxYw)N)ÚtÚmÚbNrÚz is invalid, use t, m, b or Noner×rÏs rÚ_validate_valignzPrettyTable._validate_valignÌs>€ð "ØÐ/Ñ/Ð /Ñ/øÜò "ؘs˜eÐ#CÐDˆCܘS“/Ð !ð "úrÜcóf— t|«dk\sJ‚y#t$rd|›d|›�}t|«‚wxYw)NrúInvalid value for ú: )r¢rÌrÍ©rŠr˜rÆr¨s rr¹z%PrettyTable._validate_nonnegative_intÓsB€ð "Ü�s“8˜q’=Ð ‘=øÜò "Ø& t f¨B¨s¨eÐ4ˆCܘS“/Ð !ð "ús‚“0cóN— |dvsJ‚y#t$rd|›d�}t|«‚wxYw)NrTrãz. Must be True or False.r×rås rr¿z#PrettyTable._validate_true_or_falseÚs=€ð "ؘ-Ñ'Ð 'Ñ'øÜò "Ø& t fÐ,DÐEˆCܘS“/Ð !ð "úrÜcó–—|dk(ry t|t«sJ‚|j«sJ‚y#t$rd|›d�}t |«‚wxYw)NÚrãz#. Must be an integer format string.)rŸrÑÚisdigitrÌrÍrås rrÁz PrettyTable._validate_int_formatásW€Ø �"Š9Ø ð "ܘc¤3Ô'Ð 'Ð'Ø—;‘;”=Ð ‘=øÜò "Ø& t fÐ,OÐPˆCܘS“/Ð !ð "ús ˆ$-­Acó’—|dk(ry t|t«sJ‚d|vsJ‚|jd«}t|«dksJ‚|ddk(s|dj «sJ‚|ddk(sD|dj «s0|dddk(r"|dj d«j «sJ‚yyy#t $rd|›d �}t|«‚wxYw) Nrèr¶rrréÿÿÿÿÚfrãz . Must be a float format string.)rŸrÑrrréÚrstriprÌrÍ)rŠr˜rÆÚbitsr¨s rrÂz"PrettyTable._validate_float_formatësë€Ø �"Š9Ø ð "ܘc¤3Ô'Ð 'Ð'ؘ#‘:Ð �:Ø—9‘9˜S“>ˆDÜ�t“9 ’>Ð !�>ؘ‘7˜b’= D¨¡G§O¡OÔ$5Ð 5Ð5à�Q‘˜2’ ؘ‘7—?‘?Ô$ؘ‘G˜B‘K 3Ò&¨4°©7¯>©>¸#Ó+>×+FÑ+FÔ+Hð ðJà+Hð%ðøôò "Ø& t fÐ,LÐMˆCܘS“/Ð !ð "ús ˆB B+Â+Ccó^— t|d«sJ‚y#t$rd|›d�}t|«‚wxYw)NÚ__call__rãz. Must be a function.)ÚhasattrrÌrÍrås rr»zPrettyTable._validate_functionýs?€ð "ܘ3  Ô+Ð +Ñ+øÜò "Ø& t fÐ,AÐBˆCܘS“/Ð !ð "ús‚‘,cóv— |ttttfvsJ‚y#t$rd|›d�}t |«‚wxYw)Nrãz%. Must be ALL, FRAME, HEADER or NONE.)rormÚHEADERÚNONErÌrÍrås rr¼zPrettyTable._validate_hrulessF€ð "Øœ3¤¤v¬tÐ4Ñ4Ð 4Ñ4øÜò "Ø& t fÐ,QÐRˆCܘS“/Ð !ð "ús‚�8cól— |tttfvsJ‚y#t$rd|›d�}t |«‚wxYw)Nrãz. Must be ALL, FRAME, or NONE.)rormrôrÌrÍrås rr½zPrettyTable._validate_vrules sD€ð "Øœ3¤¤tÐ,Ñ,Ð ,Ñ,øÜò "Ø& t fÐ,JÐKˆCܘS“/Ð !ð "ús‚˜3cóf— ||jvs|�J‚yy#t$rd|›�}t|«‚wxYw)NzInvalid field name: )r]rÌrÍrås rrºz PrettyTable._validate_field_namesI€ð "ؘ4×,Ñ,Ñ,°#°+Ð >Ð>°+Ð,øÜò "Ø(¨¨Ð.ˆCܘS“/Ð !ð "ús‚–0cól— |D]}|j||«Œy#t$rd}t|«‚wxYw)Nz(Fields must be a sequence of field names)rºrÌrÍ)rŠr˜rÆrWr¨s rr¾z%PrettyTable._validate_all_field_namess?€ð "Û�Ø×)Ñ)¨$°Õ2ñøäò "Ø<ˆCܘS“/Ð !ð "ús‚œ3cób— t|«dk(sJ‚y#t$rd|›d�}t|«‚wxYw)Nrrãz. Must be a string of length 1.)rrÌrÍrås rrÄz!PrettyTable._validate_single_char!sB€ð "Ü# CÓ(¨AÒ-Ð -Ñ-øÜò "Ø& t fÐ,KÐLˆCܘS“/Ð !ð "ús‚“.có^— t|t«sJ‚y#t$rd}t|«‚wxYw)Nz3Attributes must be a dictionary of name/value pairs)rŸÚdictrÌrÒrås rrÅz PrettyTable._validate_attributes(s5€ð !ܘc¤4Ô(Ð (Ñ(øÜò !ØGˆCܘC“.Ð ð !ús‚•,có —|jddSr)r^r­s rÚrowszPrettyTable.rows2s€à�z‰z™!ˆ}Ðr$có —|jddSr)r_r­s rÚdividerszPrettyTable.dividers6s€à�~‰~™aÐ Ð r$có—|jS)z,Print
tags if True,
tags if False)rˆr­s rrEzPrettyTable.xhtml:s€ð�{‰{Ðr$có6—|jd|«||_y)NrE)rcrˆ©rŠrÆs rrEzPrettyTable.xhtml?ó€à ×јg sÔ+؈� r$có—|jSr)rhr­s rrSzPrettyTable.none_formatDs€à× Ñ Ð r$có—|jsi|_y|�t|t«r/t |«dk(r!|jD]}d|j|<Œy|j |«|jD]}||j|<Œy©Nr)r]rhrŸrúrr¸©rŠrÆÚfields rrSzPrettyTable.none_formatHs{€à× Ò Ø "ˆDÕ Ø ˆ[œZ¨¬TÔ2´s¸3³xÀ1²}Ø×*Ô*�Ø+/�×!Ñ! %Ò(ñ+ð × &Ñ & sÔ +Ø×*Ô*�Ø+.�×!Ñ! %Ò(ñ+r$có—|jS)zÙList or tuple of field names When setting field_names, if there are already field names the new list of field names must be the same length. Columns are renamed and row data remains unchanged.)r]r­s rr`zPrettyTable.field_namesTs€ð× Ñ Ð r$có—|D�cgc] }t|«‘Œ}}|jd|«d}|jr|jdd}||_|jrd|rbt ||«D]!\}}|j||j|<Œ#|D],}||jvsŒ|jj |«Œ.nE|jr2|jD]"}|jt |j|<Œ$nd|_|jrd|rbt ||«D]!\}}|j||j|<Œ#|D],}||jvsŒ|jj |«Œ.yd|_ ycc}w)Nr`rÙrÞ) rÑrcr]rœÚzipÚpopÚBASE_ALIGN_VALUErPÚ_valignrD)rŠrÆrWÚ old_namesÚold_nameÚnew_nameÚ field_names rr`zPrettyTable.field_names]sR€á"Ó#™s˜!Œs�1�v˜sˆÐ#Ø ×јm¨SÔ1؈ Ø × Ò Ø×)Ñ)©!Ð,ˆIØˆÔØ �;Š;™9Ü&)¨)°SÖ&9Ñ"�˜(Ø(,¯ © °HÑ(=�— ‘ ˜HÒ%ð':ã%�Ø 4§;¡;Ò.Ø—K‘K—O‘O HÕ-ñ&ð�[Š[Ø"×/Ô/� Ø*.¯+©+Ô6FÑ*G�— ‘ ˜JÒ'ñ0ðˆDŒJØ �<Š<™IÜ&)¨)°SÖ&9Ñ"�˜(Ø)-¯©°hÑ)?�— ‘ ˜XÒ&ð':ã%�Ø 4§<¡<Ò/Ø—L‘L×$Ñ$ XÕ.ñ&ðˆD�Kùò1$s…E<có—|jS)zdControls alignment of fields Arguments: align - alignment, one of "l", "c", or "r" )rœr­s rrPzPrettyTable.alignys€ð �{‰{Ðr$cóP—|�t|t«rIt|«dk(r;|jstdi|_y|jD]}d|j |<Œy|j |«|jst|i|_y|jD]}||j |<Œy)NrrÙ)rŸrúrr]r rœrÛrs rrPzPrettyTable.align�s�€à ˆ;œ: c¬4Ô0´S¸³XÀ²]Ø×$Ò$Ü/°Ð5�• à!×.Ô.�EØ),�D—K‘K Ò&ñ/ð × Ñ  Ô %Ø×$Ò$Ü/°Ð5�• à!×.Ô.�EØ),�D—K‘K Ò&ñ/r$có—|jS)zwControls vertical alignment of fields Arguments: valign - vertical alignment, one of "t", "m", or "b" )r r­s rrDzPrettyTable.valign‘s€ð �|‰|Ðr$có—|jsi|_y|�t|t«r/t |«dk(r!|jD]}d|j|<Œy|j |«|jD]}||j|<Œy)NrrÞ)r]r rŸrúrrárs rrDzPrettyTable.valign™sv€à× Ò ØˆD�LØ ˆ[œZ¨¬TÔ2´s¸3³xÀ1²}Ø×*Ô*�Ø&)�— ‘ ˜UÒ#ñ+ð × !Ñ ! #Ô &Ø×*Ô*�Ø&)�— ‘ ˜UÒ#ñ+r$có—|jS)z^Controls maximum width of fields Arguments: max_width - maximum width integer)Ú _max_widthr­s rrQzPrettyTable.max_width¥ó€ð �‰Ðr$có¸—|�t|t«rt|«dk(ri|_y|j d|«|j D]}||j|<Œy)NrrQ)rŸrúrrrcr]rs rrQzPrettyTable.max_width­óO€à ˆ;œ: c¬4Ô0´S¸³XÀ²]Ø ˆD�Oà × !Ñ ! +¨sÔ 3Ø×*Ô*�Ø),�—‘ Ò&ñ+r$có—|jS)z^Controls minimum width of fields Arguments: min_width - minimum width integer)Ú _min_widthr­s rrRzPrettyTable.min_width¶rr$có¸—|�t|t«rt|«dk(ri|_y|j d|«|j D]}||j|<Œy)NrrR)rŸrúrrrcr]rs rrRzPrettyTable.min_width¾rr$có—|jSr)rtr­s rr:zPrettyTable.min_table_widthÇó€à×$Ñ$Ð$r$có6—|jd|«||_y)Nr:)rcrtrs rr:zPrettyTable.min_table_widthËó€à ×ÑÐ/°Ô5Ø #ˆÕr$có—|jSr)rur­s rr;zPrettyTable.max_table_widthÐrr$có6—|jd|«||_y)Nr;)rcrurs rr;zPrettyTable.max_table_widthÔr!r$có—|jS)z3List or tuple of field names to include in displays)rgr­s rr,zPrettyTable.fieldsÙs€ð�|‰|Ðr$có6—|jd|«||_y)Nr,)rcrgrs rr,zPrettyTable.fieldsÞó€à ×јh¨Ô,؈� r$có—|jS)zEOptional table title Arguments: title - table title)rdr­s rr)zPrettyTable.titleãó€ð�{‰{Ðr$có$—t|«|_yr)rÑrdrs rr)zPrettyTable.titleìs €ä˜#“hˆ� r$có—|jS)z{Start index of the range of rows to print Arguments: start - index of first data row to include in output)rer­s rr*zPrettyTable.startðr(r$có6—|jd|«||_y)Nr*)rcrers rr*zPrettyTable.startùrr$có—|jS)z’End index of the range of rows to print Arguments: end - index of last data row to include in output PLUS ONE (list slice style))rfr­s rr+zPrettyTable.endþs€ð�y‰yÐr$có6—|jd|«||_y)Nr+)rcrfrs rr+zPrettyTable.ends€à ×јe SÔ)؈� r$có—|jS)z_Name of field by which to sort rows Arguments: sortby - field name to sort by)rqr­s rr0zPrettyTable.sortby ó€ð�|‰|Ðr$có6—|jd|«||_y)Nr0)rcrqrs rr0zPrettyTable.sortbyr&r$có—|jS)zºControls direction of sorting (ascending vs descending) Arguments: reveresort - set to True to sort by descending order, or False to sort by ascending order)rrr­s rr1zPrettyTable.reversesortó€ð× Ñ Ð r$có6—|jd|«||_y)Nr1)rcrrrs rr1zPrettyTable.reversesort$ó€à ×јm¨SÔ1؈Õr$có—|jS)z²Sorting key function, applied to data points before sorting Arguments: sort_key - a function which takes one argument and returns something to be sorted)rsr­s rr2zPrettyTable.sort_key)s€ð�~‰~Ðr$có6—|jd|«||_y)Nr2)rcrsrs rr2zPrettyTable.sort_key3s€à ×јj¨#Ô.؈�r$có—|jS)z‹Controls printing of table header with field names Arguments: header - print a header showing field names (True or False))rir­s rr-zPrettyTable.header8r/r$có6—|jd|«||_y)Nr-)rcrirs rr-zPrettyTable.headerAr&r$có—|jS)zÆControls stylisation applied to field names in header Arguments: header_style - stylisation to apply to field names in header ("cap", "title", "upper", "lower" or None))rjr­s rrCzPrettyTable.header_styleFs€ð×!Ñ!Ð!r$có4—|j|«||_yr)rÀrjrs rrCzPrettyTable.header_stylePs€à ×#Ñ# CÔ(Ø ˆÕr$có—|jS)z~Controls printing of border around table Arguments: border - print a border around the table (True or False))rkr­s rr.zPrettyTable.borderUr/r$có6—|jd|«||_y)Nr.)rcrkrs rr.zPrettyTable.border^r&r$có—|jS)z·Controls printing of border inside table Arguments: preserve_internal_border - print a border inside the table even if border is disabled (True or False))rlr­s rr/z$PrettyTable.preserve_internal_bordercs€ð×-Ñ-Ð-r$có6—|jd|«||_y)Nr/)rcrlrs rr/z$PrettyTable.preserve_internal_borderms€à ×ÑÐ8¸#Ô>Ø),ˆÕ&r$có—|jS)z˜Controls printing of horizontal rules after rows Arguments: hrules - horizontal rules style. Allowed values: FRAME, ALL, HEADER, NONE)rnr­s rr5zPrettyTable.hrulesrr/r$có6—|jd|«||_y)Nr5)rcrnrs rr5zPrettyTable.hrules{r&r$có—|jS)z‘Controls printing of vertical rules between columns Arguments: vrules - vertical rules style. Allowed values: FRAME, ALL, NONE)rpr­s rr6zPrettyTable.vrules€r/r$có6—|jd|«||_y)Nr6)rcrprs rr6zPrettyTable.vrules‰r&r$có—|jS)zbControls formatting of integer data Arguments: int_format - integer format string)Ú _int_formatr­s rr7zPrettyTable.int_formatŽs€ð ×ÑÐr$có¸—|�t|t«rt|«dk(ri|_y|j d|«|j D]}||j|<Œy)Nrr7)rŸrúrrDrcr]rs rr7zPrettyTable.int_format–sR€à ˆ;œ: c¬4Ô0´S¸³XÀ²]Ø!ˆDÕ à × !Ñ ! ,°Ô 4Ø×*Ô*�Ø*-�× Ñ  Ò'ñ+r$có—|jS)zrControls formatting of floating point data Arguments: float_format - floating point format string)Ú _float_formatr­s rr8zPrettyTable.float_formatŸs€ð ×!Ñ!Ð!r$có¸—|�t|t«rt|«dk(ri|_y|j d|«|j D]}||j|<Œy)Nrr8)rŸrúrrGrcr]rs rr8zPrettyTable.float_format§sR€à ˆ;œ: c¬4Ô0´S¸³XÀ²]Ø!#ˆDÕ à × !Ñ ! .°#Ô 6Ø×*Ô*�Ø,/�×"Ñ" 5Ò)ñ+r$có—|jS)z‚Controls formatting of any column using callable Arguments: custom_format - Dictionary of field_name and callable)Ú_custom_formatr­s rr9zPrettyTable.custom_format°s€ð ×"Ñ"Ð"r$có8—|€i|_yt|t«r5|j«D]\}}|j d|›�|«Œ||_yt |d«r3|j d|«|j D]}||j|<Œyd}t|«‚)Nz custom_value.rðÚ custom_valuez>The custom_format property need to be a dictionary or callable)rJrŸrúrÃr»rñr]rÒ)rŠrÆrÇÚvrr¨s rr9zPrettyTable.custom_format¸s˜€à ˆ;Ø"$ˆDÕ Ü ˜œTÔ "ØŸ ™ ž ‘��1Ø×'Ñ'¨-¸°sÐ(;¸QÕ?ð$à"%ˆDÕ Ü �S˜*Ô %Ø × #Ñ # N°CÔ 8Ø×*Ô*�Ø-0�×#Ñ# EÒ*ñ+ðSˆCܘC“.Ð r$có—|jS)zœThe number of empty spaces between a column's edge and its content Arguments: padding_width - number of spaces, must be a positive integer)rvr­s rr<zPrettyTable.padding_widthÈó€ð×"Ñ"Ð"r$có6—|jd|«||_y)Nr<)rcrvrs rr<zPrettyTable.padding_widthÑs€à ×јo¨sÔ3Ø!ˆÕr$có—|jS)z The number of empty spaces between a column's left edge and its content Arguments: left_padding - number of spaces, must be a positive integer)rwr­s rr=zPrettyTable.left_padding_widthÖs€ð×'Ñ'Ð'r$có6—|jd|«||_y)Nr=)rcrwrs rr=zPrettyTable.left_padding_widthßs€à ×ÑÐ2°CÔ8Ø#&ˆÕ r$có—|jS)z¢The number of empty spaces between a column's right edge and its content Arguments: right_padding - number of spaces, must be a positive integer)rxr­s rr>zPrettyTable.right_padding_widthäs€ð×(Ñ(Ð(r$có6—|jd|«||_y)Nr>)rcrxrs rr>zPrettyTable.right_padding_widthís€à ×ÑÐ3°SÔ9Ø$'ˆÕ!r$có—|jS)z¦The character used when printing table borders to draw vertical lines Arguments: vertical_char - single character string used to draw vertical lines)ryr­s rr?zPrettyTable.vertical_charòrOr$cóL—t|«}|jd|«||_y)Nr?)rÑrcryrs rr?zPrettyTable.vertical_charûó#€ä�#‹hˆØ ×јo¨sÔ3Ø!ˆÕr$có—|jS)z¬The character used when printing table borders to draw horizontal lines Arguments: horizontal_char - single character string used to draw horizontal lines)rzr­s rr@zPrettyTable.horizontal_chars€ð×$Ñ$Ð$r$cóL—t|«}|jd|«||_y)Nr@)rÑrcrzrs rr@zPrettyTable.horizontal_char s$€ä�#‹hˆØ ×ÑÐ/°Ô5Ø #ˆÕr$có6—|jxs |jS)z«The character used to indicate column alignment in horizontal lines Arguments: horizontal_align_char - single character string used to indicate alignment©r„rBr­s rrAz!PrettyTable.horizontal_align_chars€ð×.Ñ.ÒD°$×2DÑ2DÐDr$cóL—t|«}|jd|«||_y)NrA)rÑrcr{rs rrAz!PrettyTable.horizontal_align_chars$€ä�#‹hˆØ ×ÑÐ5°sÔ;Ø&)ˆÕ#r$có—|jS)z¦The character used when printing table borders to draw line junctions Arguments: junction_char - single character string used to draw line junctions)r|r­s rrBzPrettyTable.junction_charrOr$cóL—t|«}|jd|«||_y)NrB)rÑrcr|rs rrBzPrettyTable.junction_char(rWr$có6—|jxs |jS)z²The character used when printing table borders to draw top line junctions Arguments: top_junction_char - single character string used to draw top line junctions)r}rBr­s rrHzPrettyTable.top_junction_char.s€ð×&Ñ&Ò<¨$×*<Ñ*<ШD×,>Ñ,>Ð>r$cóL—t|«}|jd|«||_y)NrJ)rÑrcrrs rrJzPrettyTable.right_junction_charWs$€ä�#‹hˆØ ×ÑÐ3°SÔ9Ø$'ˆÕ!r$có6—|jxs |jS)zµThe character used when printing table borders to draw left line junctions Arguments: left_junction_char - single character string used to draw left line junctions)r€rBr­s rrKzPrettyTable.left_junction_char]s€ð×'Ñ'Ò=¨4×+=Ñ+=Ð=r$cóL—t|«}|jd|«||_y)NrK)rÑrcr€rs rrKzPrettyTable.left_junction_charfs$€ä�#‹hˆØ ×ÑÐ2°CÔ8Ø#&ˆÕ r$có6—|jxs |jS)zÙ The character used when printing table borders to draw top-right line junctions Arguments: top_right_junction_char - single character string used to draw top-right line junctions)r�rBr­s rrLz#PrettyTable.top_right_junction_charls€ð×,Ñ,ÒB°×0BÑ0BÐBr$cóL—t|«}|jd|«||_y)NrL)rÑrcr�rs rrLz#PrettyTable.top_right_junction_charws$€ä�#‹hˆØ ×ÑÐ7¸Ô=Ø(+ˆÕ%r$có6—|jxs |jS)zÖ The character used when printing table borders to draw top-left line junctions Arguments: top_left_junction_char - single character string used to draw top-left line junctions)r‚rBr­s rrMz"PrettyTable.top_left_junction_char}s€ð×+Ñ+ÒA¨t×/AÑ/AÐAr$cóL—t|«}|jd|«||_y)NrM)rÑrcr‚rs rrMz"PrettyTable.top_left_junction_charˆs$€ä�#‹hˆØ ×ÑÐ6¸Ô<Ø'*ˆÕ$r$có6—|jxs |jS)zäThe character used when printing table borders to draw bottom-right line junctions Arguments: bottom_right_junction_char - single character string used to draw bottom-right line junctions)rƒrBr­s rrNz&PrettyTable.bottom_right_junction_charŽs€ð×/Ñ/ÒE°4×3EÑ3EÐEr$cóL—t|«}|jd|«||_y)NrN)rÑrcrƒrs rrNz&PrettyTable.bottom_right_junction_char™s$€ä�#‹hˆØ ×ÑÐ:¸CÔ@Ø+.ˆÕ(r$có6—|jxs |jS)záThe character used when printing table borders to draw bottom-left line junctions Arguments: bottom_left_junction_char - single character string used to draw bottom-left line junctionsr[r­s rrOz%PrettyTable.bottom_left_junction_charŸs€ð×.Ñ.ÒD°$×2DÑ2DÐDr$cóL—t|«}|jd|«||_y)NrO)rÑrcr„rs rrOz%PrettyTable.bottom_left_junction_charªs$€ä�#‹hˆØ ×ÑÐ9¸3Ô?Ø*-ˆÕ'r$có—|jS)z~Controls whether or not HTML tables are formatted to match styling options Arguments: format - True or False)r‡r­s rr4zPrettyTable.format°r/r$có6—|jd|«||_y)Nr4)rcr‡rs rr4zPrettyTable.format¹r&r$có—|jS)z˜Controls whether or not empty tables produce a header and frame or just an empty string Arguments: print_empty - True or False)r…r­s rrFzPrettyTable.print_empty¾r2r$có6—|jd|«||_y)NrF)rcr…rs rrFzPrettyTable.print_emptyÈr4r$có—|jS)z¯A dictionary of HTML attribute name/value pairs to be included in the tag when printing HTML Arguments: attributes - dictionary of attributes)r‰r­s rr3zPrettyTable.attributesÍs€ð×ÑÐr$có6—|jd|«||_y)Nr3)rcr‰rs rr3zPrettyTable.attributes×s€à ×јl¨CÔ0؈Õr$có—|jS)zr?rBr{r­s rr‚zPrettyTable._set_markdown_stylesG€ØˆŒ ؈Œ ؈Œ ØˆÔØ"#ˆÔØ#$ˆÔ Ø ˆÔØ ˆÔØ&)ˆÕ#r$có—d|_d|_t|_t|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_y)NTrrYrZr[)r-r.rmrnrorpr<r=r>r?r@r{rBr}r~rr€r�r‚rƒr„r­s rr|zPrettyTable._set_default_styles–€ØˆŒ ؈Œ ܈Œ ܈Œ ØˆÔØ"#ˆÔØ#$ˆÔ Ø ˆÔØ"ˆÔØ&*ˆÔ#Ø ˆÔØ"&ˆÔØ%)ˆÔ"Ø$(ˆÔ!Ø#'ˆÔ Ø(,ˆÔ%Ø'+ˆÔ$Ø+/ˆÔ(Ø*.ˆÕ'r$cón—d|_d|_t|_d|_d|_d|_d|_y)NTrrY)r-r.rôrnr<r=r>r?r­s rr~zPrettyTable._set_msword_style1s7€ØˆŒ ؈Œ ܈Œ ØˆÔØ"#ˆÔØ#$ˆÔ Ø ˆÕr$cóJ—d|_d|_d|_d|_d|_y)NTFrré)r-r.r<r=r>r­s rr€zPrettyTable._set_columns_style:s(€ØˆŒ ؈Œ ØˆÔØ"#ˆÔØ#$ˆÕ r$cóž—d|_d|_d|_d|_d|_d|_d|_d|_d |_d |_ d |_ y) Nuâ•�uâ•‘u╬u╦uâ•©uâ•£uâ• uâ•—uâ•”uâ•�u╚© r@r?rBrHrIrJrKrLrMrNrOr­s rr†z$PrettyTable._set_double_border_styleAóZ€Ø$ˆÔØ"ˆÔØ"ˆÔØ!&ˆÔØ$)ˆÔ!Ø#(ˆÔ Ø"'ˆÔØ',ˆÔ$Ø&+ˆÔ#Ø*/ˆÔ'Ø).ˆÕ&r$cóž—d|_d|_d|_d|_d|_d|_d|_d|_d |_d |_ d |_ y) Nu─u│u┼u┬uâ”´u┤u├uâ”�u┌u┘uâ””r–r­s rrˆz$PrettyTable._set_single_border_styleNr—r$có—ddl}|jd«|_|jd«|_|jtt t tf«|_|jtt tf«|_ |jdd«|_ |jdd«|_ |jd«|_ |jd«|_|jd«|_|jd«|_y)NrrTéz!~!@#$%^&*()_+|-=\{}[];':\",./;<>?)ÚrandomÚchoicer-r.rormrórôrnrpÚrandintr=r>r?r@rBr/)rŠr›s rrŠzPrettyTable._set_random_style[s€ãà—m‘m MÓ2ˆŒ Ø—m‘m MÓ2ˆŒ Ø—}‘}¤c¬5´&¼$Ð%?Ó@ˆŒ Ø—}‘}¤c¬5´$Ð%7Ó8ˆŒ Ø"(§.¡.°°AÓ"6ˆÔØ#)§>¡>°!°QÓ#7ˆÔ Ø#Ÿ]™]Ð+OÓPˆÔØ%Ÿ}™}Ð-QÓRˆÔØ#Ÿ]™]Ð+OÓPˆÔØ(.¯ © °mÓ(DˆÕ%r$có4—|D]}|j|«Œy)z§Add rows to the table Arguments: rows - rows of data, should be an iterable of lists, each list with as many elements as the table has fieldsN)r¡©rŠrür§s rÚadd_rowszPrettyTable.add_rowsns€óˆCØ �L‰L˜Õ ñr$F)Údividercóº—|jrQt|«t|j«k7r0dt|«›dt|j«›d�}t|«‚|js.tdt|««D�cgc] }d|dz›�‘Œ c}|_|j j t|««|jj |«ycc}w)z�Add a row to the table Arguments: row - row of data, should be a list with as many elements as the table has fieldsz-Row has incorrect number of values, (actual) rÊrËrzField rN) r]rrÍÚranger`r^ÚappendÚlistr_)rŠr§r¡r¨Úns rr¡zPrettyTable.add_rowxs€ð × Ò ¤ S£¬S°×1BÑ1BÓ-CÒ!CðÜ ›H˜: R¬¨D×,=Ñ,=Ó(>Ð'?¸{ðLð ô˜S“/Ð !Ø× Ò Ü:?ÀÄ3ÀsÃ8Ô:LÓMÑ:L°Q &¨¨Q©¨Ò 0Ð:LÑMˆDÔ Ø � ‰ ×Ñœ$˜s›)Ô$Ø �‰×јgÕ&ùò NsÂCcó¼—|t|j«dz kDr'd|›dt|j«›d�}t|«‚|j|=|j|=y)z„Delete a row from the table Arguments: row_index - The index of the row you want to delete. Indexing starts at 0.rzCan't delete row at index z, table only has z rowsN)rr^r£r_)rŠÚ row_indexr¨s rÚdel_rowzPrettyTable.del_row‹sc€ð ”s˜4Ÿ:™:“¨Ñ*Ò *à,¨Y¨Kð8"Ü"% d§j¡j£/Ð!2°%ð9ð ô˜S“/Ð !Ø �J‰J�yÐ !Ø �N‰N˜9Ñ %r$cót—t|j«dt|«fvrè|j|«|j|«|jj |«||j |<||j|<tdt|««D]t}t|j«|dzkr6|jj g«|jj d«|j|j ||«Œvydt|«›dt|j«›�}t|«‚)aÅAdd a column to the table. Arguments: fieldname - name of the field to contain the new column of data column - column of data, should be a list with as many elements as the table has rows align - desired alignment for this column - "l" for left, "c" for centre and "r" for right valign - desired vertical alignment for new columns - "t" for top, "m" for middle and "b" for bottomrrFzColumn length z does not match number of rows N) rr^rÛrár]r¤rœr r£r_rÍ)rŠÚ fieldnameÚcolumnrPrDÚir¨s rÚ add_columnzPrettyTable.add_column›s€ô ˆt�z‰z‹?˜q¤# f£+Ð.Ñ .Ø × Ñ  Ô 'Ø × !Ñ ! &Ô )Ø × Ñ × $Ñ $ YÔ /Ø%*ˆD�K‰K˜ Ñ "Ø&,ˆD�L‰L˜Ñ #ܘ1œc &›kÖ*�Ü�t—z‘z“? Q¨¡UÒ*Ø—J‘J×%Ñ% bÔ)Ø—N‘N×)Ñ)¨%Ô0Ø— ‘ ˜1‘ ×$Ñ$ V¨A¡YÕ/ñ +ð!¤ V£  Ð-LÜ�t—z‘z“?Ð#ð%ð ô˜S“/Ð !r$có—|jjd|«|j|j|<|j|j |<t |j«D]\}}|jd|dz«Œy)zŽAdd an auto-incrementing index column to the table. Arguments: fieldname - name of the field to contain the new column of datarrN)r]ÚinsertrPrœrDr Ú enumerater^)rŠr«r­r§s rÚ add_autoindexzPrettyTable.add_autoindex¼sg€ð ×Ñ× Ñ   IÔ.Ø!%§¡ˆ� ‰ �IÑØ"&§+¡+ˆ� ‰ �YÑÜ § ¡ Ö+‰FˆAˆsØ �J‰J�q˜!˜a™%Õ ñ,r$c ó —||jvrDdj|djtt|j«««}t |«‚|jj |«}|j|=|jD]}||=Œy)zxDelete a column from the table Arguments: fieldname - The field name of the column you want to delete.zUCan't delete column {!r} which is not a field name of this table. Field names are: {}z, N)r]r4ÚjoinÚmapÚreprrÍr¤r^)rŠr«r¨Ú col_indexr§s rÚ del_columnzPrettyTable.del_columnÆs†€ð ˜D×-Ñ-Ñ -ð'ß'-¡vؘtŸy™y¬¬T°4×3DÑ3DÓ)EÓFó(ð ô ˜S“/Ð !à×%Ñ%×+Ñ+¨IÓ6ˆ Ø × Ñ ˜iÐ (Ø—:”:ˆCØ�I‘ñr$có —g|_g|_y)z?Delete all rows from the table but keep the current field namesN)r^r_r­s rÚ clear_rowszPrettyTable.clear_rowsÛs€ðˆŒ ؈�r$có<—g|_g|_g|_g|_y)z_Delete all rows and field names from the table, maintaining nothing but styling optionsN)r^r_r]rar­s rÚclearzPrettyTable.clearás!€ðˆŒ ؈ŒØˆÔ؈� r$có,—ddl}|j|«Sr)ÚcopyÚdeepcopy)rŠr¾s rr¾zPrettyTable.copyîs€Ûà�}‰}˜TÓ"Ð"r$c ó —|dk(r|jdi|¤ŽS|dk(r|jdi|¤ŽS|dk(r|jdi|¤ŽS|dk(r|jdi|¤ŽS|dk(r|jdi|¤ŽSd|›d�}t |«‚) zÙReturn string representation of specified format of table in current state. Arguments: out_format - resulting table format kwargs - passed through to function that performs formatting rÚhtmlÚjsonÚcsvÚlatexzInvalid format z1. Must be one of: text, html, json, csv, or latexrV)r¬r³Úget_json_stringÚget_csv_stringÚget_latex_stringrÍ)rŠÚ out_formatr‹r¨s rÚget_formatted_stringz PrettyTable.get_formatted_stringós¼€ð ˜Ò Ø"�4—?‘?Ñ, VÑ,Ð ,Ø ˜Ò Ø'�4×'Ñ'Ñ1¨&Ñ1Ð 1Ø ˜Ò Ø'�4×'Ñ'Ñ1¨&Ñ1Ð 1Ø ˜Ò Ø&�4×&Ñ&Ñ0¨Ñ0Ð 0Ø ˜Ò Ø(�4×(Ñ(Ñ2¨6Ñ2Ð 2ð˜j˜\ð*>ð >ð ô˜‹oÐr$có—t|t«r#||jvrd|j|z|zSt|t«r#||jvrd|j|z|zS|j j |d„«}|||«S)Nz%%%sdz%%%sfcó—t|«Sr)rÑ)rìrMs rrXz+PrettyTable._format_value..s€ÄÀQÄr$)rŸr¢rDÚfloatrGrJr\)rŠrÚvaluerÈs rÚ _format_valuezPrettyTable._format_valuesŒ€Ü �eœSÔ ! e¨t×/?Ñ/?Ñ&?ؘd×.Ñ.¨uÑ5Ñ5¸Ñ>Ð >Ü ˜œuÔ %¨%°4×3EÑ3EÑ*Eؘd×0Ñ0°Ñ7Ñ7¸5Ñ@Ð @à×'Ñ'×+Ñ+¨EÑ4GÓIˆ Ù˜ Ó&Ð&r$cóî—|dttfvrdnd}t|j|««}t |j «D]-\}}|dr|dsŒ||dvsŒ||j ||zz }Œ/|S)Nr6rrr,)rmroÚsumÚ_get_padding_widthsr±r`ra)rŠrxÚ table_widthÚper_col_paddingr¤r«s rÚ_compute_table_widthz PrettyTable._compute_table_widths„€Ø" 8Ñ,´¼° Ñ<‘aÀ!ˆ ܘd×6Ñ6°wÓ?Ó@ˆÜ )¨$×*:Ñ*:Ö ;Ñ ˆE�9ؘ8Ò$ؘÓ! i°7¸8Ñ3DÒ&Dà˜tŸ|™|¨EÑ2°_ÑDÑD‘ ð !<ð Ðr$c óâ—|dr&|jD�cgc]}t|«d‘Œ}}nt|j«dgz}|D]ñ}t |«D]á\}}|j|}|j j |«�"|dk(s|€|j j |«}||jvr6t||tt|«d|j|««||<nt||t|«d«||<||jvsŒÃt|||j|«||<ŒãŒó||_ |jrT|j|«} | |jkDr4d|jz| z } |D� cgc]} t| | z«‘Œ}} ||_ |js|d�r(|dr@t|d«t!|j#|««z} |dt$t&fvr| dz } nd} |j(xsd} t| | «}|drt|«d z}n|d r t|«}nd}|t!|D�cgc]}t!|j#|««‘Œc}«|zz}t!|«xsd }||krRd|z|z } |D� cgc]} t| | z«‘Œ}} t!|«|kr|d xx|t!|«z z cc<||_ yyycc}wcc} wcc}wcc} w) Nr-rÚNonegð?r)r6rr.rr/rë)r]r#rr`r±rSr\rQrÚminrRrarurÔr¢rtrÐrÑrmror:)rŠrürxrÚwidthsr§r¤rÍr«rÒÚscaleÚwÚ title_widthr:rRÚbordersr›Ú content_widths rÚ_compute_widthszPrettyTable._compute_widths"s€Ø �8Ò Ø7;×7HÒ7HÓIÑ7H¨e”i Ó& qÓ)Ð7HˆFÑIä˜×)Ñ)Ó*¨a¨SÑ0ˆFãˆCÜ )¨#¦‘ ��uØ ×,Ñ,¨UÑ3� Ø×#Ñ#×'Ñ'¨ Ó2Ð>Ø ’¨%¨-Ø $× 0Ñ 0× 4Ñ 4°YÓ ?˜Ø §¡Ñ.Ü$'ؘu™ ÜœI eÓ,¨QÑ/°·±À Ñ1JÓKó%�F˜5’Mô %(¨¨u© ´yÀÓ7GÈÑ7JÓ$K�F˜5‘MØ §¡Ò.Ü$'¨¨u© °t·~±~ÀiÑ7PÓ$Q�F˜5’Mñ!/ððˆŒ ð × Ò Ø×3Ñ3°GÓ<ˆKؘT×2Ñ2Ò2à˜d×3Ñ3Ñ3°kÑA�Ù28Ó9±&¨Qœ#˜a %™i�.°&�Ð9Ø%�” ð × Ò  G¨GÓ$4Ø�wÒÜ! '¨'Ñ"2Ó3´cØ×,Ñ,¨WÓ5ó7ñ� ð˜8Ñ$¬´¨ Ñ4Ø 1Ñ$‘Kà� Ø"×2Ñ2Ò7°aˆOܘK¨Ó9ˆIØ�xÒ Ü˜f›+¨™/‘ØÐ3Ò4ܘf›+‘à�ð ÜÁVÓLÁVÀ”S˜×1Ñ1°'Ó:Õ;ÀVÑLÓMÐPWÑWñ ˆIô  ›KÒ,¨1ˆMà˜yÒ(à˜i™¨-Ñ7�Ù28Ó9±&¨Qœ#˜a %™i�.°&�Ð9Ü�v“; Ò*ؘ2“J )¬c°&«kÑ"9Ñ9“JØ%�• ð )ð3%5ùò?Jùò6:ùò0Mùò:s”KÆK"É!K' ÊK,cóP—|d�|d}n|d}|d� |d}||fS|d}||fS)Nr=r<r>rV)rŠrxÚlpadÚrpads rrÑzPrettyTable._get_padding_widthsds\€Ø Ð'Ñ (Ð 4ØÐ/Ñ0‰Dà˜?Ñ+ˆDØ Ð(Ñ )Ð 5ØÐ0Ñ1ˆDð�TˆzÐð˜?Ñ+ˆDØ�TˆzÐr$có”—ddl}|dr%|j|j|d|d«}n|j|j«}|dr_|jj |d«}|D�cgc] }||g|z‘Œ }}|j |d|d¬ «|D�cgc]}|d d‘Œ }}|ds ||d|d}|Scc}wcc}w) zŸReturn only those data rows that should be printed, based on slicing and sorting. Arguments: options - dictionary of option settings.rNrGr*r+r0r1r2)ÚreverseÚkeyr)r¾r¿r^r]r¤Úsort)rŠrxr¾rüÚ sortindexr§s rÚ _get_rowszPrettyTable._get_rowsosê€ó à �>Ò "Ø—=‘= §¡¨G°GÑ,<¸wÀu¹~Ð!NÓO‰Dà—=‘= §¡Ó,ˆDð �8Ò Ø×)Ñ)×/Ñ/°¸Ñ0AÓBˆIá6:Ó;±d¨s�S˜‘^Ð$ sÓ*°dˆDÐ;à �I‰I˜g mÑ4¸'À*Ñ:MˆIÔ Ná'+Ó,¡t �C˜˜’G tˆDÐ,ð�~Ò&ؘ Ñ(¨7°5©>Ð:ˆDàˆ ùò<ùò-s Á1C CcóÊ—ddl}|dr%|j|j|d|d«}n|j|j«}|dr|D�cgc]}d‘Œ}}|Scc}w)zŠReturn only those dividers that should be printed, based on slicing. Arguments: options - dictionary of option settings.rNrGr*r+r0F)r¾r¿r_)rŠrxr¾rþr¡s rÚ _get_dividerszPrettyTable._get_dividers�si€ó à �>Ò "Ø—}‘} T§^¡^°G¸GÑ4DÀwÈuÁ~Ð%VÓW‰Hà—}‘} T§^¡^Ó4ˆHà �8Ò Ù-5Ó6©X 'š¨XˆHÐ6àˆùò7sÁ A có€—t|j|«D��cgc]\}}|j||«‘Œc}}Scc}}wr)r r]rÎ)rŠr§rrÍs rÚ _format_rowzPrettyTable._format_rowŸsG€ô#& d×&7Ñ&7¸Ô"=ô á"=‘�˜ð × Ñ ˜u eÕ ,Ø"=ò ð ùó sš:cóJ—|D�cgc]}|j|«‘Œc}Scc}wr)rërŸs rÚ _format_rowszPrettyTable._format_rows¥s%€Ù15Ó6±¨#�× Ñ  Õ%°Ñ6Ð6ùÒ6s… c ó—|j|«}g}|jdk(r |dr|dsy|j|«}|j|«}|j |«}|j ||«|j |«|_|dxs |j}|r!|j|j||««|dr!|j|j|««np|drk|dttfvrZ|j|j |d¬ ««|r6|d ttfvr%|j|d d d z|jz|d <t!|d d |d d «D]V\}} |j|j#|||j««| sŒ5|j|j |d¬ ««ŒX|r6|j|j#|d ||j |d¬ «««|dr.|dtk(r"|j|j |d¬ ««d|j$vr<|j&r0|D� � cgc]#} | j)d«D] } d| d d zdz‘ŒŒ%}} } dj+|«Scc} } w)aö Return string representation of table in current state. Arguments: title - optional table title start - index of first data row to include in output end - index of last data row to include in output PLUS ONE (list slice style) fields - names of fields (columns) to include header - print a header showing field names (True or False) border - print a border around the table (True or False) preserve_internal_border - print a border inside the table even if border is disabled (True or False) hrules - controls printing of horizontal rules after rows. Allowed values: ALL, FRAME, HEADER, NONE vrules - controls printing of vertical rules between columns. Allowed values: FRAME, ALL, NONE int_format - controls formatting of integer data float_format - controls formatting of floating point data custom_format - controls formatting of any column using callable padding_width - number of spaces on either side of column data (only used if left and right paddings are None) left_padding_width - number of spaces on left hand side of column data right_padding_width - number of spaces on right hand side of column data vertical_char - single character string used to draw vertical lines horizontal_char - single character string used to draw horizontal lines horizontal_align_char - single character string used to indicate alignment junction_char - single character string used to draw line junctions junction_char - single character string used to draw line junctions top_junction_char - single character string used to draw top line junctions bottom_junction_char - single character string used to draw bottom line junctions right_junction_char - single character string used to draw right line junctions left_junction_char - single character string used to draw left line junctions top_right_junction_char - single character string used to draw top-right line junctions top_left_junction_char - single character string used to draw top-left line junctions bottom_right_junction_char - single character string used to draw bottom-right line junctions bottom_left_junction_char - single character string used to draw bottom-left line junctions sortby - name of field to sort rows by sort_key - sorting key function, applied to data points before sorting reversesort - True or False to sort in descending or ascending order print empty - if True, stringify just the header for an empty table, if False return an empty stringrrFr.rèr)r-r5Útop_)Úwherer6rërNÚbottom_rŽrrY)ryr•rçrérírÞÚ_stringify_hruleÚ_hrulerdr¤Ú_stringify_titleÚ_stringify_headerrormrKrJr Ú_stringify_rowÚ__dict__rŽrr´) rŠr‹rxr rürþÚformatted_rowsr)r§r¡Úold_lineÚnew_lines rr¬zPrettyTable.get_string¬s–€ð`×#Ñ# FÓ+ˆàˆð �=‰=˜AÒ  w¨}Ò'=ÀWÈXÒEVØð�~‰~˜gÓ&ˆØ×%Ñ% gÓ.ˆð×*Ñ*¨4Ó0ˆð ×ј^¨WÔ5Ø×+Ñ+¨GÓ4ˆŒ ð˜Ñ Ò/ D§K¡KˆÙ Ø �L‰L˜×.Ñ.¨u°gÓ>Ô ?ð �8Ò Ø �L‰L˜×/Ñ/°Ó8Õ 9Ø �XÒ  7¨8Ñ#4¼¼e¸ Ñ#DØ �L‰L˜×.Ñ.¨w¸fÐ.ÓEÔ FÙ˜ Ñ*¬s´E¨lÑ:à×+Ñ+¨e°B©i¸¸"¨oÑ=À×@XÑ@XÑXð�b‘ ô   ¨s°Ð 3°X¸c¸r°]ÖC‰LˆC�Ø �L‰L˜×,Ñ,¨S°'¸4¿;¹;ÓGÔ HÚØ— ‘ ˜T×2Ñ2°7À)Ð2ÓLÕMðDñ Ø �L‰LØ×#Ñ#Ø" 2Ñ&ØØ×)Ñ)¨'¸Ð)ÓCóô ð �8Ò  ¨Ñ!2´eÒ!;Ø �L‰L˜×.Ñ.¨w¸iÐ.ÓHÔ Ià ˜Ÿ ™ Ñ %¨$¯,ª,ñ!&ôá %�HØ (§¡¨tÖ 4�Hð�h˜q �nÑ$ sÓ*à 4ð+Ø %ð ñð �y‰y˜ÓÐùó sÉ (Jcób—|ds|dsy|j|«\}}|dttfvr ||dzg}n|dg}|js(|j ||dz«dj |«St |j|j«D]Á\}}|dr||dvrŒ||z|z|dz}|jrL|j|d vrd |jz|d dz}|j|d vr|dd |jzd z}|j |«|dtk(r|j ||dz«Œ®|j |d«ŒÃ|dttfvr'|j«|j ||dz«|dr |ds|dd}dj |«S)Nr.r/rèr6rKr@rJr,)r�rÙr�r)rÙr‘éþÿÿÿrBrrë) rÑrormr]r¤r´r rar{rœr ) rŠrxrðràrárîrr"rs rròzPrettyTable._stringify_hrulesÙ€Ø�xÒ ¨Ð1KÒ)LØØ×-Ñ-¨gÓ6‰ ˆˆdØ �8Ñ ¤¤e  Ñ ,ؘEÐ$8Ñ8Ñ9Ð:‰DàÐ-Ñ.Ð/ˆDà× Ò Ø �K‰K˜ Ð(=Ñ =Ñ>Ô ?Ø—7‘7˜4“=Ð Ü × 1Ñ 1°4·<±<Ö@‰LˆE�5Ø�xÒ  U°'¸(Ñ2CÑ%CØà˜D‘L 4Ñ'¨7Ð3DÑ+EÑEˆDð×*Ò*Ø—;‘;˜uÑ%¨Ñ3Ø ×!<Ñ!<Ñ<¸tÀAÀB¸xÑG�DØ—;‘;˜uÑ%¨Ñ3Ø  ˜9 t×'BÑ'BÑBÀSÑH�Dà �K‰K˜Ô Ø�xÑ ¤CÒ'Ø— ‘ ˜G E¨OÑ$;Ñ<Õ=à— ‘ ˜GÐ$5Ñ6Õ7ð#Að$ �8Ñ ¤¤e  Ñ ,Ø �H‰HŒJØ �K‰K˜ Ð(=Ñ =Ñ>Ô ?à Ð-Ò .°w¸xÒ7Hؘ˜"�:ˆDà�w‰w�t‹}Ðr$có‚—g}|j|«\}}|drm|dtk(r4t|d<|j|j |d««t|d<n-|dtk(r!|j|j |d««g}|dttfvr |dr|dnd}|j|«d|z|zd|zz}|j|j |t |j«dz d««|j|«|jdj|««d j|«S) Nr.r6rïr?r�rrÙrèr) rÑrormr¤ròr“rrór´)rŠr)rxr ràrárîÚendpoints rrôzPrettyTable._stringify_titleAs/€ØˆØ×-Ñ-¨gÓ6‰ ˆˆdØ �8Ò Ø�xÑ ¤CÒ'Ü$)�˜Ñ!Ø— ‘ ˜T×2Ñ2°7¸FÓCÔDÜ$'�˜Ò!ؘÑ"¤eÒ+Ø— ‘ ˜T×2Ñ2°7¸FÓCÔD؈ð�xÑ ¤S¬% LÑ0°W¸XÒ5Fð �OÒ $àð ð � ‰ �HÔØ�d‘ ˜UÑ" S¨4¡ZÑ/ˆØ � ‰ �D—M‘M %¬¨T¯[©[Ó)9¸AÑ)=¸sÓCÔDØ � ‰ �HÔØ � ‰ �R—W‘W˜T“]Ô#Ø�y‰y˜ÓÐr$c ó—g}|j|«\}}|drµ|dttfvrm|j|j |d««|dr6|dttfvr%|j |dddz|j z|d<|jd«|dttfvr|j|d «n|jd «|js7|dttfvr|j|d «n|jd «t|j|j«D�]!\}}|d r||d vrŒ|jd k(r|j«}nb|jdk(r|j«}nB|jd k(r|j«}n"|jdk(r|j«}n|}t|«|kDr|d|}|jd |z|j!|||j"|«zd |zz«|ds|dsŒï|dtk(r|j|d «�Œ|jd «�Œ$|ds&|dr!|j%«|jd «|dr0|dtk(r$|j%«|j|d «|ds|dr8|dt&k7r,|jd«|j|j(«dj+|«S)Nr.r5rïr)r6rërrr?r�r,rÔrÕrÖr/rè)rÑrormr¤ròrKrJr]r rarjÚ capitalizer)rÕrÖrr“rœr rôrór´)rŠrxrîràrárr"r«s rrõzPrettyTable._stringify_headerXsç€ØˆØ×-Ñ-¨gÓ6‰ ˆˆdØ �8Ò Ø�xÑ ¤S¬% LÑ0Ø— ‘ ˜D×1Ñ1°'¸6ÓBÔCؘ7Ò#¨°Ñ(9¼cÄ5¸\Ñ(Ià×/Ñ/ؘr™( 1 R˜.ñ)à×2Ñ2ñ3ð˜‘Hð — ‘ ˜DÔ!Ø�xÑ ¤S¬% LÑ0Ø— ‘ ˜G OÑ4Õ5à— ‘ ˜CÔ à× Ò Ø�xÑ ¤S¬% LÑ0Ø— ‘ ˜G OÑ4Õ5à— ‘ ˜CÔ Ü × 1Ñ 1°4·<±<×@‰LˆE�5Ø�xÒ  U°'¸(Ñ2CÑ%CØØ×!Ñ! UÒ*Ø!×,Ñ,Ó.‘ Ø×#Ñ# wÒ.Ø!ŸK™K›M‘ Ø×#Ñ# wÒ.Ø!ŸK™K›M‘ Ø×#Ñ# wÒ.Ø!ŸK™K›M‘ à!� Ü  Ó*¨UÒ2Ø% f uÐ-� Ø �K‰KØ�d‘ Ø—-‘-  ¨5°$·+±+¸eÑ2DÓEñFà˜‘*ñô ð �xÒ  GÐ,FÓ$Gؘ8Ñ$¬Ò+Ø—K‘K ¨Ñ 8Ö9à—K‘K Ö$ð1Að8�xÒ  WÐ-GÒ%HØ �H‰HŒJØ �K‰K˜Ô ð �8Ò  ¨Ñ!2´eÒ!;Ø �H‰HŒJØ �K‰K˜ Ñ0Ô 1Ø �HÒ  Ð)CÒ!DÈ'Ø ñK ä òKð �K‰K˜Ô Ø �K‰K˜Ÿ ™ Ô $Ø�w‰w�t‹}Ðr$c ój—ddl}ttdt|««|j||j «D]™\}}}}|j d«} g} | D]b} | dk(r*|jj|«�|j|} t| «|kDr|j| |«} | j| «Œd| } dj| «}|||<Œ›d} |D]} t| «d}|| kDsŒ|} Œg}|j|«\}}td| «D]]}|jg«|dsŒ|dtt fvr||j|j"«ŒJ||jd«Œ_t|j||j «D�]"\}}}|j$|}|j d«} | t| «z }|rI|dk(r,d gt'|d z «z| zd g|t'|d z «z zz} n|d k(r d g|z| z} n | d g|zz} d}| D]›} |d r||d vrŒ||jd|z|j)| ||j*|«zd|zz«|ds|d r?|dtk(r||j|j"«n||jd«|dz }Œ��Œ%|ds,|d r'|dj-«|djd«td| «D]?}|dsŒ |dt k(sŒ||j-«||j|d«ŒA|dr:|dtk(r.|| dz jd«|| dz j|«td| «D]}d j||«||<Œdj|«S)NrrrÖrr.r6r�rßrèrràr,r/rër?r5)Útextwrapr r£rr]rarrSr\rÚfillr¤r´r#rÑrormr?r r¢r“rœr )rŠr§rxÚhrulerr¤rrÍr"r Ú new_linesrÚ row_heightrÙÚhrîràráÚyrDÚd_heights rrözPrettyTable._stringify_rowšsÜ€Ûä*-Ü �!”S˜“XÓ  × 1Ñ 1°3¸¿ ¹ ö+ Ñ &ˆE�5˜% ð—K‘K Ó%ˆE؈IÛ�ؘ6’> d×&6Ñ&6×&:Ñ&:¸5Ó&AÐ&MØ×+Ñ+¨EÑ2�DÜ# DÓ)¨EÒ1Ø#Ÿ=™=¨¨uÓ5�DØ× Ñ  Õ&ð ð ˆEØ—I‘I˜eÓ$ˆE؈C�ŠJð+ ð ˆ ÛˆAܘ!“ ˜Q‘ˆAØ�:‹~Ø‘ ðð ˆØ×-Ñ-¨gÓ6‰ ˆˆdÜ�q˜*Ö%ˆAØ �K‰K˜ŒOØ�xÓ Ø˜8Ñ$¬¬e¨ Ñ4ؘ‘G—N‘N 4×#5Ñ#5Õ6à˜‘G—N‘N 3Õ'ð &ô$' t×'8Ñ'8¸#¸t¿|¹|×#LÑ ˆE�5˜%Ø—\‘\ %Ñ(ˆFØ—K‘K Ó%ˆEØ!¤C¨£JÑ.ˆHÙØ˜S’=à˜œs 8¨a¡<Ó0Ñ0Øñ à˜$ (¬S°¸A±Ó->Ñ">Ñ?ñ@ñð ˜s’]ؘD 8™O¨eÑ3‘Eà! R D¨8¡OÑ3�EàˆAÛ�ؘ8Ò$¨°g¸hÑ6GÑ)GØà�Q‘—‘ؘ$‘JØ—m‘m D¨%°·±¸UÑ1CÓDñEà˜D‘jñ!ôð ˜8Ò$¨Ð0JÒ(KؘxÑ(¬CÒ/ؘQ™Ÿ™ t×'9Ñ'9Õ:à˜Q™Ÿ™ sÔ+Ø�Q‘‘òð#$MðF�xÒ  WÐ-GÒ%HØ �‰H�L‰LŒNØ �‰H�O‰O˜CÔ ô�q˜*Ö%ˆAØ�xÓ  W¨XÑ%6¼%Ó%?Ø�Q‘— ‘ ” Ø�Q‘—‘˜w Ñ7Õ8ð&ð �8Ò  ¨Ñ!2´cÒ!9Ø �˜a‘Ñ × 'Ñ '¨Ô -Ø �˜a‘Ñ × 'Ñ '¨Ô .ä�q˜*Ö%ˆAØ—g‘g˜d 1™gÓ&ˆD�ŠGð&ð�y‰y˜‹Ðr$c ó&—g}|jdd«|d<|jd|j«} t|d|z|«|d<|j|jdi|¤Ž«|d|k(rn|dxx|z cc<ŒM|j |«S)Nr*rr+rV)r\r•r×r¤r¬r´)rŠÚ page_lengthÚ line_breakr‹ÚpagesÚtrue_ends rÚpaginatezPrettyTable.paginateôs˜€ØˆØ Ÿ*™* W¨aÓ0ˆˆw‰Ø—:‘:˜e T§]¡]Ó3ˆØÜ  w¡°+Ñ =¸xÓHˆF�5‰MØ �L‰L˜˜Ÿ™Ñ2¨6Ñ2Ô 3Ø�e‰} Ò(ØØ �7‹O˜{Ñ *‹Oð ð �‰˜uÓ%Ð%r$c óœ—ddl}|j|«}|j«D��cic] \}}||vsŒ ||“Œ}}}tj«}|j |fi|¤Ž}|j d«r|j|j«|j|«D]} |j| «Œ|j«Scc}}w)a´Return string representation of CSV formatted table in the current state Keyword arguments are first interpreted as table formatting options, and then any unused keyword arguments are passed to csv.writer(). For example, get_csv_string(header=False, delimiter=' ') would use header as a PrettyTable formatting option (skip the header row) and delimiter as a csv.writer keyword argument. rNr-) rÃryrÃÚioÚStringIOÚwriterr\Úwriterowr]rçÚgetvalue) rŠr‹rÃrxrärÍÚ csv_optionsÚ csv_bufferÚ csv_writerr§s rrÆzPrettyTable.get_csv_stringsÁ€ó à×#Ñ# FÓ+ˆà)/¯©¬ô Ù)7™:˜3 ¸3ÀgÒ;MˆC�‰J¨ð ñ ô—[‘[“]ˆ Ø�S—Z‘Z  Ñ:¨kÑ:ˆ à �;‰;�xÔ Ø × Ñ  × 1Ñ 1Ô 2Ø—>‘> 'Ö*ˆCØ × Ñ  Õ $ð+ð×"Ñ"Ó$Ð$ùó s © C¶Cc ó¾—ddl}|j|«}ddddœ}|j|j«D��cic] \}}||vsŒ ||“Œc}}«g}|j d«r|j |j «|j|«D]0}|j tt|j|«««Œ2|j|fi|¤ŽScc}}w)a®Return string representation of JSON formatted table in the current state Keyword arguments are first interpreted as table formatting options, and then any unused keyword arguments are passed to json.dumps(). For example, get_json_string(header=False, indent=2) would use header as a PrettyTable formatting option (skip the header row) and indent as a json.dumps keyword argument. rNé)Ú,räT)ÚindentÚ separatorsÚ sort_keysr-) rÂryÚupdaterÃr\r¤r`rçrúr r]Údumps) rŠr‹rÂrxÚ json_optionsrärÍÚobjectsr§s rrÅzPrettyTable.get_json_stringsÍ€ó à×#Ñ# FÓ+ˆØ'(¸ ÐRVÑWˆ Ø×ÑØ*0¯,©,¬.Ô O©.™J˜C ¸CÀwÒ‘> 'Ö*ˆCØ �N‰Nœ4¤ D×$5Ñ$5°sÓ ;Ó<Õ =ð+ðˆt�z‰z˜'Ñ2 \Ñ2Ð2ùó Ps º C ÁC c óz—|j|«}|dr|j|«}|S|j|«}|S)aÑReturn string representation of HTML formatted version of table in current state. Arguments: title - optional table title start - index of first data row to include in output end - index of last data row to include in output PLUS ONE (list slice style) fields - names of fields (columns) to include header - print a header showing field names (True or False) border - print a border around the table (True or False) preserve_internal_border - print a border inside the table even if border is disabled (True or False) hrules - controls printing of horizontal rules after rows. Allowed values: ALL, FRAME, HEADER, NONE vrules - controls printing of vertical rules between columns. Allowed values: FRAME, ALL, NONE int_format - controls formatting of integer data float_format - controls formatting of floating point data custom_format - controls formatting of any column using callable padding_width - number of spaces on either side of column data (only used if left and right paddings are None) left_padding_width - number of spaces on left hand side of column data right_padding_width - number of spaces on right hand side of column data sortby - name of field to sort rows by sort_key - sorting key function, applied to data points before sorting attributes - dictionary of name/value pairs to include as HTML attributes in the
tag format - Controls whether or not HTML tables are formatted to match styling options (True or False) xhtml - print
tags if True,
tags if Falser4)ryÚ_get_formatted_html_stringÚ_get_simple_html_string©rŠr‹rxÚstrings rr³zPrettyTable.get_html_string<sK€ðB×#Ñ# FÓ+ˆà �8Ò Ø×4Ñ4°WÓ=ˆFðˆ ð×1Ñ1°'Ó:ˆFàˆ r$c óJ—ddlm}g}|drd}nd}dg}|dr4|dD],}|jd||«›d ||d|«›d �«Œ.|jd «|jd j|««|d xs |j}|r|jd||«›d�«|drŒ|jd«|jd«|j D]9}|dr||dvrŒ|jd||«j d|«z«Œ;|jd«|jd«|jd«|j|«} |j| «} | D]y} |jd«t|j | «D]<\}} |dr||dvrŒ|jd|| «j d|«z«Œ>|jd«Œ{|jd«|jd«dj|«S)Nr©ÚescaperEú
ú
úrèr)ú r-ú ú r,z rú ú ú z ú ú
ú
%s
%s
) rÁr*r¤r´rdr]Úreplacerçrír ) rŠrxr*r Ú linebreakÚopen_tagÚ attr_namer)rrürør§Údatums rr%z#PrettyTable._get_simple_html_stringfs€ÝàˆØ �7Ò Ø‰IàˆIà�:ˆØ �<Ò Ø$ \Ô2� Ø—‘Ø™˜yÓ)Ð*¨"©V°G¸LÑ4IÈ)Ñ4TÓ-UÐ,VÐVWÐXõð3ð �‰˜ÔØ � ‰ �R—W‘W˜XÓ&Ô'ð˜Ñ Ò/ D§K¡KˆÙ Ø �L‰L˜=©°«¨°zÐBÔ Cð �8Ò Ø �L‰L˜Ô 'Ø �L‰L˜Ô (Ø×*Ô*�ؘ8Ò$¨°g¸hÑ6GÑ)GØØ— ‘ Ø-±°u³ ×0EÑ0EÀdÈIÓ0VÑVõð+ð �L‰L˜Ô )Ø �L‰L˜Ô (ð � ‰ �]Ô#Ø�~‰~˜gÓ&ˆØ×*Ñ*¨4Ó0ˆÛ!ˆCØ �L‰L˜Ô (Ü # D×$5Ñ$5°sÖ ;‘ ��uؘ8Ò$¨°g¸hÑ6GÑ)GØØ— ‘ Ø-±°u³ ×0EÑ0EÀdÈIÓ0VÑVõð!<ð �L‰L˜Õ )ð"ð � ‰ �^Ô$Ø � ‰ �ZÔ à�y‰y˜ÓÐr$c ór—ddlm}g}|j|«\}}|drd}nd}dg}|drõ|dtk(r|d tk(r|j d «nË|dt k(r|d t k(r|j d «n¡|dt k(r|d tk(r|j d «nw|dt k(r|j d «nY|dtk(r|j d«n;|d t k(r|j d«n|d tk(r|j d«|ds|dr|j d«|dr4|dD],}|j d||«›d||d|«›d�«Œ.|j d«|j dj |««|dxs |j} | r|j d|| «›d�«|dr�|j d«|j d«|jD]<} |dr| |dvrŒ|j d |||| «jd!|«fz«Œ>|j d"«|j d#«|j d$«|j|«} |j| «} g} g}|jD]L} | j d%d&d'd(œ|j| «|j d)d*d+d,œ|j| «ŒN| D]‚}|j d«t|j|| |«D]C\} }}}|dr| |dvrŒ|j d-||||||«jd!|«fz«ŒE|j d"«Œ„|j d.«|j d/«d!j |«S)0Nrr)rEr+r,r-r.r5r6z frame="box" rules="all"z frame="box"z frame="box" rules="cols"z frame="hsides"z frame="hsides" rules="rows"z frame="vsides"z frame="vsides" rules="cols"r/z rules="cols"r3r�r.r/r0rèr)r1r2r-r3r4r,z[ %srr5r6r7ÚleftÚrightÚcenter)r�r‘rÙÚtopÚmiddleÚbottom)rÞrßràzk %sr8r9)rÁr*rÑror¤rmr´rdr]r:rçrírœr r )rŠrxr*r ràrár;r<r=r)rrürøÚalignsÚvalignsr§r>rPrDs rr$z&PrettyTable._get_formatted_html_stringœs€ÝàˆØ×-Ñ-¨gÓ6‰ ˆˆdØ �7Ò Ø‰IàˆIà�:ˆØ �8Ò Ø�xÑ ¤CÒ'¨G°HÑ,=ÄÒ,DØ—‘Ð :Õ;ؘÑ"¤eÒ+°¸Ñ0AÄUÒ0JØ—‘ Õ/ؘÑ"¤eÒ+°¸Ñ0AÄSÒ0HØ—‘Ð ;Õ<ؘÑ"¤eÒ+Ø—‘Ð 1Õ2ؘÑ"¤cÒ)Ø—‘Ð >Õ?ؘÑ"¤eÒ+Ø—‘Ð 1Õ2ؘÑ"¤cÒ)Ø—‘Ð >Ô?Ø�xÒ  WÐ-GÒ%HØ �O‰O˜OÔ ,Ø �<Ò Ø$ \Ô2� Ø—‘Ø™˜yÓ)Ð*¨"©V°G¸LÑ4IÈ)Ñ4TÓ-UÐ,VÐVWÐXõð3ð �‰˜ÔØ � ‰ �R—W‘W˜XÓ&Ô'ð˜Ñ Ò/ D§K¡KˆÙ Ø �L‰L˜=©°«¨°zÐBÔ Cð �8Ò Ø �L‰L˜Ô 'Ø �L‰L˜Ô (Ø×*Ô*�ؘ8Ò$¨°g¸hÑ6GÑ)GØØ— ‘ ØqؘT¡6¨%£=×#8Ñ#8¸¸yÓ#IÐJñKõð+ð �L‰L˜Ô )Ø �L‰L˜Ô (ð � ‰ �]Ô#Ø�~‰~˜gÓ&ˆØ×*Ñ*¨4Ó0ˆØˆØˆØ×&Ô&ˆEØ �M‰MØ 7°Ñ:¸4¿;¹;ÀuÑ;MÑNô ð �N‰NØ (°Ñ:¸4¿<¹<ÈÑ;NÑOõ ð 'ó"ˆCØ �L‰L˜Ô (Ü/2Ø×!Ñ! 3¨°ö0Ñ+��u˜e Vð˜8Ò$¨°g¸hÑ6GÑ)GØØ— ‘ ðBàØØØÙ˜u› ×-Ñ-¨d°IÓ>ð ñõ ð 0ð �L‰L˜Õ )ð#"ð$ � ‰ �^Ô$Ø � ‰ �ZÔ à�y‰y˜ÓÐr$c óz—|j|«}|dr|j|«}|S|j|«}|S)aœReturn string representation of LaTex formatted version of table in current state. Arguments: start - index of first data row to include in output end - index of last data row to include in output PLUS ONE (list slice style) fields - names of fields (columns) to include header - print a header showing field names (True or False) border - print a border around the table (True or False) preserve_internal_border - print a border inside the table even if border is disabled (True or False) hrules - controls printing of horizontal rules after rows. Allowed values: ALL, FRAME, HEADER, NONE vrules - controls printing of vertical rules between columns. Allowed values: FRAME, ALL, NONE int_format - controls formatting of integer data float_format - controls formatting of floating point data sortby - name of field to sort rows by sort_key - sorting key function, applied to data points before sorting format - Controls whether or not HTML tables are formatted to match styling options (True or False) r4)ryÚ_get_formatted_latex_stringÚ_get_simple_latex_stringr&s rrÇzPrettyTable.get_latex_stringûsJ€ð0×#Ñ# FÓ+ˆà �8Ò Ø×5Ñ5°gÓ>ˆFðˆ ð×2Ñ2°7Ó;ˆF؈ r$cóš—g}g}|dr"|jD�cgc] }||dvsŒ |‘Œ}}n |j}dj|D�cgc]}|j|‘Œc}«}d|z}|j|«|dr#|jdj|«dz«|j |«}|j |«}|D]R} t |j| «D� � cgc] \} } | |vsŒ | ‘Œ} } } |jdj| «dz«ŒT|jd«dj|«Scc}wcc}wcc} } w) Nr,rèú\begin{tabular}{%s}r-ú & ú \\ú \end{tabular}ú )r]r´rœr¤rçrír ) rŠrxr Ú wanted_fieldsrÚ alignmentsÚ begin_cmdrürør§rìÚdÚ wanted_datas rrJz$PrettyTable._get_simple_latex_string sY€Øˆàˆ Ø �8Ò à#'×#4Ò#4óÙ#4˜%¸ÀÈÑARÒ8R’Ð#4ð ñð!×-Ñ-ˆMà—W‘W¹mÓL¹m°U˜dŸk™k¨%Ó0¸mÑLÓMˆ à*¨ZÑ7ˆ Ø � ‰ �YÔð �8Ò Ø �L‰L˜Ÿ™ MÓ2°WÑ<Ô =ð�~‰~˜gÓ&ˆØ×*Ñ*¨4Ó0ˆÛ!ˆCä! $×"3Ñ"3°SÔ9ôÙ9‘d�a˜¸QÀ-Ò=O’Ð9ð ñð �L‰L˜Ÿ™ KÓ0°7Ñ:Õ ;ð "ð � ‰ Ð%Ô&à�{‰{˜5Ó!Ð!ùò5ùò Mùós˜ D=¥D=ÁEÃ" EÃ/Ecóª—g}g}|dr"|jD�cgc] }||dvsŒ |‘Œ}}n |j}|D�cgc]}|j|‘Œ}}|dr|dtk(rdj|«}n-|ds|drdj|«}ndj|«}|dr|dttfvrd|zdz}d|z}|j |«|dr"|dttfvr|j d «|d r#|j d j|«d z«|ds|dr"|dtt fvr|j d «|j|«}|j|«} |j|«}| D]v} t|j| «D� � cgc] \} } | |vsŒ | ‘Œ} } } |j d j| «d z«|dsŒY|dtk(sŒf|j d «Œx|dr|dtk(r|j d «|j d «dj|«Scc}wcc}wcc} } w)Nr,r.r6rYr/rèrLr5z\hliner-rMrNrOrP) r]rœror´rmr¤rórçrír )rŠrxr rQrÚwanted_alignmentsÚ alignment_strrSrürør§rìrTrUs rrIz'PrettyTable._get_formatted_latex_string< sr€Øˆàˆ Ø �8Ò à#'×#4Ò#4óÙ#4˜%¸ÀÈÑARÒ8R’Ð#4ð ñð!×-Ñ-ˆMá=JÓK¹]°E˜TŸ[™[¨Ó/¸]ÐÐKØ �8Ò  ¨Ñ!2´cÒ!9ØŸH™HÐ%6Ó7‰MؘÒ" wÐ/IÒ'JØŸH™HÐ%6Ó7‰MàŸG™GÐ$5Ó6ˆMà �8Ò  ¨Ñ!2´s¼E°lÑ!BØ -Ñ/°#Ñ5ˆMà*¨]Ñ:ˆ Ø � ‰ �YÔØ �8Ò  ¨Ñ!2´s¼E°lÑ!BØ �L‰L˜Ô #ð �8Ò Ø �L‰L˜Ÿ™ MÓ2°WÑ<Ô =Ø �HÒ  Ð)CÒ!DÈ'Ø ñK ä”6ˆ]ñKð �L‰L˜Ô #ð�~‰~˜gÓ&ˆØ×*Ñ*¨4Ó0ˆØ�~‰~˜gÓ&ˆÛ!ˆCä! $×"3Ñ"3°SÔ9ôÙ9‘d�a˜¸QÀ-Ò=O’Ð9ð ñð �L‰L˜Ÿ™ KÓ0°7Ñ:Ô ;Ø�xÓ  W¨XÑ%6¼#Ó%=Ø— ‘ ˜YÕ'ð "ð �8Ò  ¨Ñ!2´eÒ!;Ø �L‰L˜Ô #à � ‰ Ð%Ô&à�{‰{˜5Ó!Ð!ùò_ùò Lùó:s˜ I¥I¼I Æ$ IÆ1Ir©ÚreturnrÖ)rZrÑ)rZz list[Any])rZz list[bool])rZÚbool)r¡r[rZrÖ)rÙrÞ)rPrÑrDrÑrZrÖ)ÚIndex)r«rÑrZrÖ)r)rÈrÑrZrÑ)rè)rðrÑ)é:Ú )r r¢r rÑ)uÚ__name__Ú __module__Ú __qualname__r�r“r™r©r®r±r´rcr·r¸rÀrÛrár¹r¿rÁrÂr»r¼r½rºr¾rÄrÅÚpropertyrürþrEÚsetterrSr`rPrDrQrRr:r;r,r)r*r+r0r1r2r-rCr.r/r5r6r7r8r9r<r=r>r?r@rArBrHrIrJrKrLrMrNrOr4rFr3rGryrŒr„r‚r|r~r€r†rˆrŠr r¡r©r®r²r¸rºr¼r¾rÉrÎrÔrÞrÑrçrérërír¬ròrôrõrörrÆrÅr³r%r$rÇrJrIrVr$rr&r&Ds… „ôG6òRHò* 'òó !ó!ò&ó(?3òB"ò6!ò"ò"ò"ò"ò"ò"ò"ò$"ò"ò"ò"ò"ò"ò!ðòóððò!óð!ðòóðð ‡\�\òóððñ!óð!ð×Ññ /óð /ðñ!óð!ð×Ñòóðð6ñóðð ‡\�\ò -óð -ðñóðð ‡]�]ò *óð *ðñóðð×Ñò-óð-ðñóðð×Ñò-óð-ðñ%óð%ð×Ñò$óð$ðñ%óð%ð×Ñò$óð$ðñóðð ‡]�]òóððñóðð ‡\�\òóððñóðð ‡\�\òóððñóðð ‡Z�Zòóððñóðð ‡]�]òóððñ!óð!ð×Ñò óð ðñóðð‡_�_òóððñóðð ‡]�]òóððñ"óð"ð×Ñò!óð!ðñóðð ‡]�]òóððñ.óð.ð×$Ñ$ò-ó%ð-ðñóðð ‡]�]òóððñóðð ‡]�]òóððñ óð ð×Ñò.óð.ðñ"óð"ð×Ñò0óð0ðñ#óð#ð×Ññ !óð !ðñ#óð#ð×Ñò"óð"ðñ(óð(ð×Ñò'óð'ðñ)óð)ð×Ñò(ó ð(ðñ#óð#ð×Ñò"óð"ð ñ%óð%ð×Ñò$óð$ð ñEóðEð×!Ñ!ò*ó"ð*ð ñ#óð#ð×Ñò"óð"ð ñ=óð=ð×Ñò&óð&ð ñ@óð@ð× Ñ ò)ó!ð)ð ñ?óð?ð×Ñò(ó ð(ð ñ>óð>ð×Ñò'óð'ð ñCóðCð×#Ñ#ò,ó$ð,ð ñBóðBð×"Ñ"ò+ó#ð+ð ñFóðFð ×&Ñ&ò/ó'ð/ð ñEóðEð×%Ñ%ò.ó&ð.ð ñóðð ‡]�]òóððñ!óð!ð×Ñò óð ðñ óð ð×Ñòóððñ"óð"ð×Ñò!óð!òó"ó*ó *ó/ó*!ó%ó /ó /ó Eó&ð/4õ'ó&&ð"BEð"Ø(+ð"Ø;>ð"à ó"ôB!óó*ó ò#ô ò8'òó@&òD òò<ò$ ò 7ól ô\%òN ò.@òDXôt &ó%ó83ó:(òT4 òlY ó~ò@"óB4"r$r&cóT—ddl}|jtjd|««S)Nrrè)ÚwcwidthÚwcswidthÚ_reÚsub)rÆres rrrx s!€Ûà × Ñ œCŸG™G B¨Ó,Ó -Ð-r$c ó—ddl}i}dD]}||vsŒ|j|«||<Œ|r|j|fi|¤Ž}nQ|j«j |j d««}|j d«|j||«}tdi|¤Ž}|r||_n,t|«D� cgc]} | j«‘Œc} |_|D]/} |j| D� cgc]} | j«‘Œc} «Œ1|Scc} wcc} w)Nr)Ú delimiterÚ doublequoteÚ escapecharÚlineterminatorÚ quotecharÚquotingÚskipinitialspaceÚstrictirV) rÃr ÚreaderÚSnifferÚsniffÚreadÚseekr&r`ÚnextÚstripr¡) Úfpr`r‹rÃÚ fmtparamsÚparamrrÚdialectÚtablerWr§s rÚfrom_csvr~ƒ sú€Ûà€Ió ˆð �FŠ?Ø%Ÿz™z¨%Ó0ˆI�eÒ ð ñØ�—‘˜BÑ, )Ñ,‰à—+‘+“-×%Ñ% b§g¡g¨d£mÓ4ˆØ �‰�Œ Ø—‘˜B Ó(ˆä Ñ !˜&Ñ !€EÙØ'ˆÕä04°V´ Ó=± ¨1˜QŸW™W�Y° Ñ=ˆÔãˆØ � ‰ ©#Ó.©# Q�q—w‘w•y¨#Ñ.Õ/ðð €Lùò >ùò/s Â0DÃ#D c óЗ|jrUtdi|¤Ž}|jD�cgc]}|d‘Œ c}|_|j«D]}|j |«Œ|Sycc}w)NrrV)Ú descriptionr&r`Úfetchallr¡)Úcursorr‹r}Úcolr§s rÚfrom_db_cursorr„¦ se€Ø ×ÒÜÑ%˜fÑ%ˆØ/5×/AÒ/AÓBÑ/A¨˜S ›VÐ/AÑBˆÔØ—?‘?Ö$ˆCØ �M‰M˜#Õ ð%àˆ ð ùâBs¦ A#c óÒ—ddl}tdi|¤Ž}|j|«}|d|_|ddD]/}|jD�cgc]}||‘Œ }}|j |«Œ1|Scc}w)NrrrV)rÂr&Úloadsr`r¡)Ú json_stringr‹rÂr}r"Úobjrär§s rÚ from_jsonr‰¯ st€Ûä Ñ !˜&Ñ !€EØ�j‰j˜Ó%€GØ ™ €EÔØ�q�r‹{ˆØ#(×#4Ò#4Ó5Ñ#4˜Cˆs�3‹xÐ#4ˆÐ5Ø � ‰ �cÕðð €Lùò6sÁ A$có:—eZdZdd„Zdd„Zdd„Zdd„Zd„Zdd„Zy) Ú TableHandlerc ó¬—tj|«||_g|_g|_g|_d|_d|_d|_d|_ d|_ y)NrrèF) rr�r‹ÚtablesÚlast_rowrüÚ max_row_widthÚactiveÚ last_contentÚis_last_row_headerÚcolspan)rŠr‹s rr�zTableHandler.__init__¼ sR€Ü×јDÔ!؈Œ Ø"$ˆŒ Ø#%ˆŒ Ø!ˆŒ ØˆÔØˆŒ ØˆÔØ"'ˆÔ؈� r$cój—||_|dk(rd|_|D]\}}|dk(sŒ t|«|_Œy)NÚthTr“)r�r’r¢r“)rŠÚtagÚattrsrärÍs rÚhandle_starttagzTableHandler.handle_starttagÈ s9€ØˆŒ Ø �$Š;Ø&*ˆDÔ #Û‰JˆC�Ø�iÓÜ" 5›z�• ñ r$cóŒ—|dvr~|jj«}|jj|«|jr=t d|j«D]}|jjd«Œd|_|dk(rm|j j|j|jf«t|jt|j««|_ g|_d|_|dk(r=|j|j «}|jj|«g|_d|_d|_ y) N)r•ÚtdrrèrÚtrFr}r�)r‘rxrŽr¤r“r£rür’rr�rÚgenerate_tabler�r�)rŠr–Ústripped_contentr­r}s rÚ handle_endtagzTableHandler.handle_endtagÐ sÿ€Ø �,Ñ Ø#×0Ñ0×6Ñ6Ó8Ð Ø �M‰M× Ñ Ð!1Ô 2Ø�|Š|ܘq $§,¡,Ö/�AØ—M‘M×(Ñ(¨Õ,ð0à �” à �$Š;Ø �I‰I× Ñ ˜dŸm™m¨T×-DÑ-DÐEÔ FÜ!$ T×%7Ñ%7¼¸T¿]¹]Ó9KÓ!LˆDÔ ØˆDŒMØ&+ˆDÔ #Ø �'Š>Ø×'Ñ'¨¯ © Ó2ˆEØ �K‰K× Ñ ˜uÔ %؈DŒIØˆÔØˆ� r$có.—|xj|z c_yr)r‘)rŠÚdatas rÚ handle_datazTableHandler.handle_dataå s€Ø ×Ò˜TÑ!Ör$cóx—tdi|j¤Ž}|jD]•}t|d«|jkr@|jt|d«z }t d|«D]}|dj d«Œ|dr|j|d«|d|_Œ‚|j|d«Œ—|S)zE Generates from a list of rows a PrettyTable object. rrrZrV) r&r‹rürr�r£r¤Úmake_fields_uniquer`r¡)rŠrür}r§Úappendsr­s rrœzTableHandler.generate_tableè s°€ôÑ*˜dŸk™kÑ*ˆØ—9”9ˆCÜ�3�q‘6‹{˜T×/Ñ/Ò/Ø×,Ñ,¬s°3°q±6«{Ñ:�ܘq 'Ö*�Aؘ‘F—M‘M #Õ&ð+ð�1ŠvØ×'Ñ'¨¨A©Ô/Ø$'¨¡F�Õ!à— ‘ ˜c !™fÕ%ððˆ r$có¤—tdt|««D]8}t|dzt|««D]}||||k(sŒ||xxdz cc<ŒŒ:y)zB iterates over the row and make each field unique rrÚ'N)r£r)rŠr,r­Újs rr£zTableHandler.make_fields_uniqueú sP€ô�qœ#˜f›+Ö&ˆAܘ1˜q™5¤# f£+Ö.�ؘ!‘9  q¡ Ó)ؘ1“I Ñ$”Iñ/ñ'r$NrY) r_r`rar�r˜ržr¡rœr£rVr$rr‹r‹» s „ó ó*óó*"òô$%r$r‹c óR—tdi|¤Ž}|j|«|jS)zƒ Generates a list of PrettyTables from a string of HTML code. Each in the HTML becomes one PrettyTable object. rV)r‹Úfeedr�)Ú html_coder‹Úparsers rÚ from_htmlr¬ s'€ô Ñ #˜FÑ #€FØ ‡K�K� ÔØ �=‰=Ðr$c ó|—t|fi|¤Ž} t|«dk(sJ‚ |dS#t$rd}t|«‚wxYw)zf Generates a PrettyTables from a string of HTML code which contains only a single
rzCMore than one
in provided HTML code. Use from_html instead.r)r¬rrÌrÍ)rªr‹r�r¨s rÚ from_html_oner® sV€ô �yÑ + FÑ +€FðÜ�6‹{˜aÒÐÑð �!‰9Ðøô òØSˆÜ˜‹oÐðúsŽ$¤;r)r`z Any | None) Ú __future__rrÚreÚ html.parserrÚtypingrrmrorôrór{r}rr�rƒr…r‡r‰r Úcompilergr#r&rr~r„r‰r‹r¬r®rVr$rÚr´s¯ðõD#ã Û Ý"Ýð €Ø€Ø€Ø €ð €Ø€Ø€ Ø €Ø €Ø€ Ø€ Ø €Ø%Ðà€b‡j�jÐ*Ó+€ò÷l$"ñl$"òhI.ô òFò ôF%�:ôF%òRó r$