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/ungroup_deep.pyo
�
��Yc@sdZdZddlmZddlZddlZddlZejdddej�yddlZWn&e	k
r�e	dj
e���nXydd	lm
Z
Wne	d
j
e���nXdZdZd
ejfd��YZedkre�Zej�ndS(s�
see #inkscape on Freenode and
https://github.com/nikitakit/svg2sif/blob/master/synfig_prepare.py#L370
for an example how to do the transform of parent to children.
s0.2i����(taddNSNtformats&%(levelname)s:%(funcName)s:%(message)stlevelsNo module named inkex in {0}.(tmatrixs Cannot find numpy.matrix in {0}.shttp://www.w3.org/2000/svgs+http://www.inkscape.org/namespaces/inkscapetUngroupcBseeZd�Zdd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�ZRS(cCs�tjj|�|jjddddddddd	d
dd�|jjd
dddddddd	ddd�|jjddddddddd	d
ddd�dS(Ns-ss--startdepthtactiontstorettypetinttdestt
startdepthtdefaultithelpsstarting depth for ungroupings-ms
--maxdepthtmaxdepthi��smaximum ungrouping depths-ks--keepdeptht	keepdepthslevels of ungrouping to sleave untouched(tinkextEffectt__init__tOptionParsert
add_option(tself((s./usr/share/inkscape/extensions/ungroup_deep.pyR"st1024cCsV|dkrdSyt|d�}Wn
d}nXt|�tkrPt|�S|ddkrddS|ddkr�t|d �S|ddkr�t|d �d	S|dd
kr�t|d �dS|ddkr�t|d �d
S|ddkr
t|d �dS|ddkr,t|d �dS|ddkrNt|d �dSdSdS(s;Convert an SVG length string from arbitrary units to pixelstii����t%ii����tpxtptgH�z�G�?temitmmg�Zd;@tpctcmg��Q��B@tini`N(RtNoneRtfloat(tstlast((s./usr/share/inkscape/extensions/ungroup_deep.pyt_get_dimension2s2

cCs,|jtdd�kr�|jd�r�g|jd�j�D]}|j|�^q=\}}}}|j|jd|��}|j|jd|��}	d|||||	|f}
tj|
|�}tj|jd�|�}|jd=ntj|jd�|�}|jdtj	|��dS(s�Propagate style and transform to remove inheritance
        Originally from
        https://github.com/nikitakit/svg2sif/blob/master/synfig_prepare.py#L370
        tsvgtviewBoxtwidththeightstranslate(%f, %f) scale(%f, %f)t	transformN(
ttagRtgettsplitR#tsimpletransformtparseTransformtattribtsettformatTransform(RtnodeR(txtvxtvytvwtvhtdwtdhtttthis_transform((s./usr/share/inkscape/extensions/ungroup_deep.pyt_merge_transformPs ':
	c
Cs�tj|jdd��}i}dg}x8|D]0}||j�kr1||||<||=q1q1W|j�}|j|�|}ddg}x=|D]5}	|j|	�r�|j|	�||	<|j|	=q�q�W|jtdd�ks0|jtdd�ks0|jtdd�ks0|jtd	d�kr�t	|�d
krdd|j�kr}|jd=q}q�|j
dtj|��n&|j|�|j
dtj|��dS(s�Propagate style and transform to remove inheritance
        Originally from
        https://github.com/nikitakit/svg2sif/blob/master/synfig_prepare.py#L370
        tstyleRtfiltertfilltstrokeR$tgtatswitchiN(tsimplestylet
parseStyleR*tkeystcopytupdateR.R)RtlenR/tformatStyle(
RR1R<t
this_styletremaining_styletnon_propagatedtkeytparent_style_copyt
style_attribsR.((s./usr/share/inkscape/extensions/ungroup_deep.pyt_merge_styleks2	



c		Cs`|r\tj|jd��}|rtj|j|��}tjj|jd�didd6|j	d�d6�}|j
|dd!�}xa|j�D]S}tjj|d	id
|jd�tjdd�6|d6|j	d	�d6�q�Wd
|jd�d}n|jd�}x/|rH|j
|dd!�}|jd�}qW|j
d|�ndS(NR(s
//svg:defstclipPathtuserSpaceOnUset
clipPathUnitstidii����tuset#threftxlinksurl(#t)s	clip-path(R,R-R*R0t_invert_transformRtetreet
SubElementtxpathSingletuniqueIdtgetElementByIdtiterchildrenRR/(	RR1tclippathurltnode_transformtinverse_node_transformtnew_clippathtclippathtctnode_clippathurl((s./usr/share/inkscape/extensions/ungroup_deep.pyt_merge_clippath�s.	
	#	cCs*t|dddgg�jj�dd!S(Niii(RtIttolist(RR(((s./usr/share/inkscape/extensions/ungroup_deep.pyRZ�scCs�|j�}t|�j|�}tj|jd��}tj|jd��}|jd�}xZtt|��D]F}|j	||�|j
||�|j||�|j||�qsW|j
|�dS(NR<R(s	clip-path(t	getparenttlisttindexRCRDR*R,R-treversedR;RPRhtinserttremove(RR1tnode_parentt
node_indext
node_styleRbRgRf((s./usr/share/inkscape/extensions/ungroup_deep.pyt_ungroup�scCsh|jtdd�krd|j�dk	rd||jjkrd||jjkrd||jjkrdtSt	S(NR@R$(
R)RRkRtoptionsRR
R
tTruetFalse(RR1tdepthR'((s./usr/share/inkscape/extensions/ungroup_deep.pyt
_want_ungroup�sc		Cs�i|d6dd6idd6d6dd6g}x�|r�|d}|d}|d}|d}|dkrU|jtdd�ks�|jtd	d
�ks�|jtdd
�ks�|jtdd
�kr�|j�n|jtd
d
�ks�t|�rd|d<q�|d7}x�|j�D]/}|ji|d6|d6|d6dd6�qWq/|j|||�rz|j|�n|d7}|d}|d}|dks�||kr�||d<n|j�q/WdS(NR1iRxR'tprevi����t	namedviewtsodipoditdefsR$tmetadatat
foreignObjectR@i(	RR)RtpopRHR`tappendRyRt(	RR1tqtcurrentRxR'Rftprevioustprev_height((s./usr/share/inkscape/extensions/ungroup_deep.pyt
_deep_ungroup�s:

	




%





cCsdt|j�r9xN|jj�D]}|j|�qWn'x$|jj�D]}|j|�qIWdS(N(RHtselectedt
itervaluesR�tdocumenttgetroot(Rtelem((s./usr/share/inkscape/extensions/ungroup_deep.pyteffects
(t__name__t
__module__RR#R;RPRhRZRtRyR�R�(((s./usr/share/inkscape/extensions/ungroup_deep.pyR s			1	#					4t__main__(t__doc__t__version__RRtloggingRCR,tbasicConfigtINFOtImportErrorRt__file__tnumpyRtSVG_NStINKSCAPE_NSRRR�R�taffect(((s./usr/share/inkscape/extensions/ungroup_deep.pyt<module>s*

�