HEX
Server: Apache
System: Linux opal14.opalstack.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User: curbgloabal_opal (1234)
PHP: 8.1.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/share/inkscape/extensions/nicechart.pyc
�
��Yc@s/dZddlZddlZddlZddlZddlTidddddd	d
dgd6d
dddddgd6dddddddgd6ddddd d!gd"6d#d$d%d&d'd(d)d*d+d,d-d.d/d0gd16Zd2d3�Zd4ejfd5��YZ	e
d6kr+e	�Zej�ndS(7sB
Month;1978;1979;1980;1981
January;2;1,3;0.1;2.3
February;6.5;2.4;1.2;6.1
March;7.4;6.7;7.9;4.7
April;7.7;6.4;8.2;8.9
May;10.9;11.7;18.7;11.1
June;12.6;14.2;14.7;14.7
July;16.5;15.5;17.5;15.1
August;15.9;15.4;14.6;16.6
September;14;14.5;13.2;15.3
October;11.9;13.9;11.5;9.2
November;6.7;8.5;7;6.6
December;6.4;2.2;6.3;3.5
i����N(t*s#460101s#980101s#d40000s#f44800s#fb8b00s#eec73es#d9bb7as#fdd99btreds#000442s#0F1781s#252FB7s#3A45E1s#656DDEs#8A91ECtblues#222222s#444444s#666666s#888888s#aaaaaas#ccccccs#eeeeeetgrays#0000FFs#FF0000s#00FF00s#CF9100s#FF00FFs#00FFFFtcontrasts#f8d753s#5c9746s#3e75a7s#7a653es#e1662as#74796fs#c4384fs#fff8a3s#a9cc8fs#b2c8d9s#bea37as#f3aa79s#b5b5a9s#e6a5a5tsaptdefaultcCstj|j�td�S(NR(tCOLOUR_TABLEtgettlower(tname((s+/usr/share/inkscape/extensions/nicechart.pytget_color_schemeNst	NiceChartcBs)eZdZd�Zd�Zd�ZRS(s�
    Inkscape extension that can draw pie charts and bar charts 
    (stacked, single, horizontally or vertically) 
    with optional drop shadow, from a csv file or from pasted text
    c
Cstjj|�|jjddddddddd	d
dd�|jjd
dddddddd	ddd�|jjddddddddd	ddd�|jjddddddddd	ddd�|jjddddddddd	ddd�|jjdd dddddd!d	d"dd#�|jjd$d%dddddd&d	d	dd'�|jjdd(dddddd)d	ddd*�|jjdd+dddddd,d	d-dd.�|jjd/d0dddd1dd2d	d3dd4�|jjd5d6dddd1dd7d	d8dd9�|jjdd:dddddd;d	d<dd=�|jjdd>dddddd?d	d-dd@�|jjdAdBddddddCd	d-ddD�|jjdEdFdddd1ddGd	dHddI�|jjdJdKdddd1ddLd	dMddN�|jjdOdPdddd1ddQd	dMddR�|jjdSdTdddd1ddUd	dVddW�|jjddXddddYddZd	d8�|jjd[d\dddd1dd]d	dVdd^�|jjdd_dddd1dd`d	daddb�|jjddcdddddddd	d-dde�|jjdfdgddddddhd	diddj�|jjdkdldddd1ddmd	dHddn�|jjdodpddddddqd	drdds�|jjddt�|jjdudvddddddwd	d-ddx�dyS(zsO
        Constructor.
        Defines the "--what" option of a script.
        s-ws--whattactiontstorettypetstringtdesttwhatRs22,11,67thelpsChart Valuess-ts--typets
Chart Types-bs--blurtinkbooltblurtTrues	Blur Types-fs
--filenametfilenamesName of Files-is--input_typet
input_typetfiles-ds--delimitert
csv_delimitert;t	delimiters-cs--colorstcolorsscolor-schemes--colors_overridetcolors_overridescolor-scheme-overrides--reverse_colorstreverse_colorstFalsesreverse color-schemes-ks	--col_keytinttcol_keyt0scolumn that contains the keyss-vs	--col_valtcol_valt1scolumn that contains the valuess
--encodingtencodingsutf-8s$encoding of the CSV file, e.g. utf-8s
--headingstheadingssCthe first line of the CSV file consists of headings for the columnss-rs--rotatetrotatesDraw barchart horizontallys-Ws--bar-widtht	bar_widtht10s
width of barss-ps--pie-radiust
pie_radiust100sradius of pie-chartss-Hs--bar-heightt
bar_heightsheight of barss-Os--bar-offsett
bar_offsett5sdistance between barss--stroke-widthtfloattstroke_widths-os
--text-offsetttext_offsets%distance between bar and descriptionss--heading-offsettheading_offsett50s&distance between chart and chart titles--segment-overlaptsegment_overlapsBwork around aliasing effects by letting pie chart segments overlaps-Fs--fonttfonts
sans-serifsfont of descriptions-Ss--font-sizet	font_sizesfont size of descriptions-Cs--font-colort
font_colortblacksfont color of descriptions--input_sectionss-Vs
--show_valuestshow_valuessShow values in chartN(tinkextEffectt__init__tOptionParsert
add_option(tself((s+/usr/share/inkscape/extensions/nicechart.pyR>Ys�cDCsM|jj}g}g}g}t}t}d}|jj}|jj}	|jj}
|jj}|jj}|jj	}
|jj
j�p�d}|jj}|jj
}|
dkrmt|d�}x�t|�D]�\}}|j|�j|	�}t|�dkr�|dkr%|r%||}q\|j||�|jt||jdd���q�q�W|j�ni|
dkr�tjd	|�}xH|D]=}|jd
�}|j|d�|jt|d��q�Wnx+|D]#}|dkr�tjd�dSq�W|jj}|d
kr+t}d}n|jj�}|j|jd��}|j|j d�}tj!j"|d�}|j#tj$dd�d|�|j#tj$dd�d�|jj%}|r�|j&d�}|dkrtj!j"|jj�tj$dd��}ntj!j"|tj$dd��}|j(d�}d||_)x9d|fdWdXdYdZgD]\}} |j#|| �qlWtj!j"|tj$d!d��}!|!j#d"d#�n|jj*j�t|jj*�dkr�|jj*}"n|jj+}"|"dj,�r"t-|"�}"n0tjd$|"�}"t|"�dkrRt-�}"nt|"�}#|jj.rw|"j/�n|jj0}$|jj1}%|jj2}&|jj3}'|jj4}(|jj5})|jj6}*|jj7}+|jj8},|jj9}-|jj:}.|d%kr�
d}/d}0yt;|�}1Wnt<k
r<d&}1nXxAt=t|��D]-}2|j||2�||2|1|$||2<qPWx|D]}|r�tj!j>tj$d'd��}3|,s7|3j#dt?|d(|/d��|3j#d t?|d(t@|�d��|3j#dt?|%��|3j#dt?t@|���nr|3j#d t?|d(|/d��|3j#dt?|d(d��|3j#dt?|%��|3j#dt?t@|���|3j#d)d*�ntj!j>tj$d'd��}4|,sW|4j#dt?|d(|/��|4j#d t?|d(t@|���|4j#dt?|%��|4j#dt?t@|���nj|4j#d t?|d(|/��|4j#dt?|d(��|4j#dt?|%��|4j#dt?t@|���|4j#d)d+|"|0|#�|r�tj!j>tj$d,d��}5|,sj|5j#d-d.�|5j#dd/t?|d(|'��|5j#d t?|d(|/|%d(|*d0��nL|5j#d t?|d(|/|%d(|*d0��|5j#dt?|d(|'��|5j#d)d1t?|*�d2|)d3|+�|||5_An|0dd4}0|r	|j|3�n|j|4�|r7	|j|5�n|
r{
tj!j>tj$d,d��}6|,s�	|6j#d-d.�|6j#dd/t?|d(|'||'|'��|6j#d t?|d(|/|%d(|*d0��nX|6j#d t?|d(|/|%d(|*d0��|6j#dt?|d(|'||'|'��|6j#d)d1t?|*�d2|)d5|+�t?t@||��|6_A|j|6�n|d}|/|%|&}/q�W|,s�
|d(}7q�|d(}7n�|dkr�d}0|rWtj!j>tj$d6d��}3|3j#d7t?|d(��|3j#d8t?|d(��|3j#dt?|-��|3j#d)d9�|j|3�ntj!j>tj$d6d��}8|8j#d7t?|d(��|8j#d8t?|d(��|8j#dt?|-��|8j#d)d:�|j|8�ytB|�}9Wnt<k
rd}9nX|rd;}9nt|�}:d}/xJt=|:�D]<};||;}d[|9t|�}<|/}=|/|<}>|(r�|;|:dkr�|>d=7}>n|;dkr�|=d=8}=q�ntj!j>tj$d>d��}?|?j#tj$d?d@�dA�|?j#tj$d7d@�t?|d(��|?j#tj$d8d@�t?|d(��|?j#tj$dBd@�t?|-��|?j#tj$dCd@�t?|-��|?j#tj$dDd@�t?|=��|?j#tj$dEd@�t?|>��|?j#d)d+|"|0|#dF�|rKtj!j>tj$d>d��}@|@j#dGdHt?|d(|-tCjD|<d(|/��dt?|d(|-tCjE|<d(|/��dIt?|'d(tCjD|<d(|/��dt?|'d(tCjE|<d(|/���|@j#d)dJ|+dKt?|.�dL�|j|@�tj!j>tj$d,d��}5|5j#dt?|d(|-|'tCjD|<d(|/���|5j#d t?|d(|-|'tCjE|<d(|/�|*d0��d1t?|*�d2|)dM|+}AtCjD|<d(|/�dkr�|5j#d)|A�n|5j#d)|AdN�|||5_A|
r1|5jAdOt?||�|5_A|r|5jAdP|5_An|5jAdQ|5_An|d}|j|5�n|/|<}/|0dd4}0|j|?�q4W|d(|-}7n|dRkr�d}0ytB|�}9Wnt<k
r�d&}9nXx|D]}|9t|�}9q�Wd}/|rtj!j>tj$d'd��}3|,sQ|3j#dt?|d(��|3j#d t?|d(|$d(��n4|3j#dt?|d(��|3j#d t?|d(��|,s�|3j#dt?|%��|3j#dt?|$d(��n0|3j#dt?|$d(��|3j#dt?|%��|3j#d)d*�|j|3�nd};xW|D]O}|$|9t|�}Btj!j>tj$d'd��}4|,s�|4j#dt?|d(��|4j#d t?|d(|/|B��n8|4j#dt?|d(|/��|4j#d t?|d(��|,s|4j#dt?|%��|4j#dt?|B��n,|4j#dt?|%��|4j#dt?|B��|4j#d)d+|"|0|#�|r;|,s�tj!j>tj$d>d��}@|@j#dGdHt?||%d(�dt?|d(|/|Bd(�dIt?|%d(|'�dS�|@j#d)dJ|+dKt?|.�dL�|j|@�tj!j>tj$d,d��}5|5j#dt?|d(|%|'d��|5j#d t?|d(|/|*d0|Bd(��|5j#d)d1t?|*�d2|)dM|+�|||5_A|d}|j|5�q;tj!j>tj$d>d��}@|@j#dGdHt?|d(|/|Bd(�dt?|d(|%d(�dTt?|%d(|*|;|'��|@j#d)dJ|+dKt?|.�dL�|j|@�tj!j>tj$d,d��}5|5j#dt?|d(|/|Bd(|*d0��|5j#d t?|d(|%|*|;d|'��|5j#d)d1t?|*�d2|)dM|+�||0|5_A|j|5�n|/|B}/|0dd4}0|j|4�|;d7};qW|,s�|d(|/|B}7q�|d(|/|B}7n|rI|
dkrItj!j>tj$d,d��}C|Cj#d t?|d(|��|Cj#dt?|7��|Cj#d)d1t?|*dU�dV|)d3|+�||C_A|j|C�ndS(\s|
        Effect behaviour.
        Overrides base class' method and inserts a nice looking chart into SVG document.
        isutf-8s"file"trit,t.s"direct_input"s ([A-Z|a-z|0-9]+:[0-9]+\.?[0-9]*)t:s,Negative values are currently not supported!Ntpie_abstpietwidththeighttgtlabeltinkscapesChart-Layer: %st	groupmodetlayers/svg:svg//svg:defstdefstsvgtfiltersfilter:url(#%s);tidt3txs-0.5tytfeGaussianBlurtstdDeviations1.1s(#[0-9a-fA-F]{6})tbargtrectitstylesfilter:url(#filter)sfill:ttextt	transformsmatrix(0,-1,1,0,0,0)t-is
font-size:s\px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:sT;-inkscape-font-specification:Bitstream Charter;text-align:end;text-anchor:end;fill:isX;-inkscape-font-specification:Bitstream Charter;text-align:start;text-anchor:start;fill:tcircletcxtcys filter:url(#filter);fill:#000000sstroke:#ececec;fill:#f9f9f9idgz���!	@g
ףp=
�?tpathRtsodipoditarctrxtrytstarttends;stroke:none;fill-opacity:1tdsm t sfill:none;stroke:s;stroke-width:s=px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1s5;-inkscape-font-specification:Bitstream Charter;fill:s;text-align:end;text-anchor:endt(s %t)tstbars,0s 0,isZpx;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:(sheightRS(swidthRS(RTs-0.5(RUs-0.5gz���!@(FtoptionsRRR!RRRR#R%R;R'tstripR(R4topent	enumeratetdecodetsplittlentappendR1treplacetclosetretfindallR<terrormsgRtdocumenttgetroottgetUnittouuRtattribtetreet
SubElementtsettaddNSRtxpathSingletNonetuniqueIdtfiltIdRRtisalphaRR treverseR.R*R/R3R6R7R8R9R)R,R2tmaxt
ValueErrortrangetElementtstrR"R[tsumtmathtcostsin(DRARtkeystvaluestorig_valuestkeys_presentRFtcntt
csv_file_nameRRR#R%R;R'R(R4tcsv_filetlinenumtlinetvaluetheadingt	charttypeRPRHRIRNt	draw_blurROtfiltR�tktvtfeRtcolor_countR.R*R/R3R6R7R8R9R)R,R2toffsettcolort	value_maxRTtshadowRYR[tvtextt	heading_xt
backgroundtvaluesumt
num_valuestitangleRfRgtpiesliceRat	textstyletnormedvaluetheadingtext((s+/usr/share/inkscape/extensions/nicechart.pyteffect�sZ
*



	 -!
!



"("$"1.	!
.1.*	!





	


&&"""" 	�	
7? 





%
%	Q	
&.	!

	Y	
..	!


	%	cCs3ytj|�SWntk
r.|j|�SXdS(N(R<tunittouutAttributeError(RAtparam((s+/usr/share/inkscape/extensions/nicechart.pyR|�s
(t__name__t
__module__t__doc__R>R�R|(((s+/usr/share/inkscape/extensions/nicechart.pyRRs
	{	��t__main__(
R�RwtsysR�R<tsimplestyleRRR=RR�R�taffect(((s+/usr/share/inkscape/extensions/nicechart.pyt<module>2s&
��{