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/merge_styles.pyc
�
��Yc@s�dZddlZddlZddlmZdefd��YZd�Zdejfd��YZ	e
d	kr�e	�Zej�ndS(
s4
Merges styles into class based styles and removes.
i����N(tdefaultdicttStylecBsweZdZd
d�Zd�Zd�Zdd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�ZRS(s0Controls the style/css mechanics for this effectcCs2tt�|_g|_|r.|j|�ndS(N(Rtinttweightsttotaltparse(tselftattr((s./usr/share/inkscape/extensions/merge_styles.pyt__init__s	cCsex^g|jd�D]$}d|kr|jdd�^qD]"\}}|j�||j�<q;WdS(Nt;t:i(tsplittstrip(RRtatnametvalue((s./usr/share/inkscape/extensions/merge_styles.pyR$sGcCs-g|j�D]\}}d||f^q
S(Ns%s:%s;(t	iteritems(Rtntv((s./usr/share/inkscape/extensions/merge_styles.pytentries(ss
    cCsddj|j��S(Ns    s
    (tjoinR(Rtsep((s./usr/share/inkscape/extensions/merge_styles.pytto_str+scCs
|j�S(N(R(R((s./usr/share/inkscape/extensions/merge_styles.pyt__str__.scCsd|t|�fS(Ns
.%s {
%s
}(tstr(Rtcls((s./usr/share/inkscape/extensions/merge_styles.pytcss1scCs%x|D]}|j|d�qWdS(N(tpoptNone(Rtkeystkey((s./usr/share/inkscape/extensions/merge_styles.pytremove4s
cCsy|jj||f�x\|j�D]N\}}|j|�sK|||<n|||kr#|j|cd7<q#q#WdS(Ni(RtappendRthas_keyR(RtctelRR((s./usr/share/inkscape/extensions/merge_styles.pytadd8s
cCsKxD|j�D]6}|j|t|j�|kr
|j|�q
q
WdS(sDRemoves any elements that aren't the same using a weighted thresholdN(RRtlenRR(Rt	thresholdR((s./usr/share/inkscape/extensions/merge_styles.pytclean@s ccs8x1|jD]&\}}||kr
||fVq
q
WdS(sEReturns an iter for each added element who's style matches this styleN(R(RR"R#((s./usr/share/inkscape/extensions/merge_styles.pytall_matchesFscCsBx;|j�D]-}|j|�r
||||kr
tSq
WtS(sBNot equals, prefer to overload 'in' but that doesn't seem possible(RR!tFalsetTrue(Rtotarg((s./usr/share/inkscape/extensions/merge_styles.pyt__eq__Ls#N(t__name__t
__module__t__doc__RRRRRRRRR$R'R(R-(((s./usr/share/inkscape/extensions/merge_styles.pyRs								cCs�g}xF|j�j�D]2}|jtjdd�kr>|S|j|�qWtjj|j�di�}x!|D]}|j�j|�qtW|S(Ntstyletsvg(tgetroottiterchildrenttagtinkextaddNSR tetreet
SubElement(tdocumenttnodestnodetret((s./usr/share/inkscape/extensions/merge_styles.pyt
get_stylesTs
tMergeStylescBseZd�Zd�ZRS(c
CsEtjj|�|jjddddddddd	d
dd�dS(
Ns-ns--nametactiontstorettypetstringtdestRtdefaulttthelps'Name of selected element's common class(R6tEffectRtOptionParsert
add_option(R((s./usr/share/inkscape/extensions/merge_styles.pyRbs
c	CsS|jj}|jj�}t�}d}x+|D]#}|jt|jd�|�q1W|j|�|sztd��nt	|j
�}|jp�dd|j|�|_x�|j
�D]�\}}|j|j��|jd�|jd<|jjd�r|jdj�pg}||kr5|j|�ndj|�|jd<q�WdS(NiR1s2There are no common styles between these elements.RFs
tclasst (toptionsRtselectedtvaluesRR$tattribR'tKeyErrorR>R:ttextRR(RRRR!RR R(	RtnewclasstelementstcommonR&R#tstyleststtolds((s./usr/share/inkscape/extensions/merge_styles.pyteffectis$	
!
#+(R.R/RRY(((s./usr/share/inkscape/extensions/merge_styles.pyR?as	t__main__(
R0R6tsystcollectionsRtdictRR>RHR?R.tetaffect(((s./usr/share/inkscape/extensions/merge_styles.pyt<module>s8	
"