
    BPc                         d Z ddlZddlmZ ddlmZ dej        d<    G d de          Z G d	 d
eej	                  Z
edk    r e
                                             dS dS )zInstall jessyInk scripts    N)Script)inkex_gettextzhttps://launchpad.net/jessyinkjessyinkc                   R    e Zd ZdZd Zd	dZd Zed             Zed             Z	dS )
JessyInkMixinzCommon jessyInk itemsc                     | j                             d          }|!t          j        t	          d                    dS )z%Check jessyInk is installed correctlyz'//svg:script[@jessyink:version='1.5.5']NzThe JessyInk script is not installed in this SVG file or has a different version than the JessyInk extensions. Please select "install/update..." from the "JessyInk" sub-menu of the "Extensions" menu to install or update the JessyInk script.

)svg
getElementinkexAbortExtension_)selfscriptss     2/usr/share/inkscape/extensions/jessyink_install.pyis_installedzJessyInkMixin.is_installed   sL    (%%&OPP?&I    ?    Tc                     |rt| j                             d| d          D ]}|                    d| d           | j                             d| d          D ]}|                    d| d           dS dS )z)Remove a property if it exists in the svg//*[@jessyink:]	jessyink:N//*[@jessyInk_	jessyInk_)r	   xpathset)r   prop
is_removednodes       r   attr_removezJessyInkMixin.attr_remove,   s     	3'?'?'?'?@@ 3 3+T++T2222'?'?'?'?@@ 3 3+T++T2222		3 	33 3r   c                    | j                             d| d          D ]J}|                    d| |                    d|                      |                    d| d           K| j                             d| d          D ]E}|                    d| |                    d|                               dd                     FdS )	zUpdate a single attrr   r   r   r   Nr   =:)r	   r   r   getreplace)r   namer   s      r   attr_updatezJessyInkMixin.attr_update4   s    HNN#;D#;#;#;<< 	/ 	/DHH'''2Dd2D2D)E)EFFFHH'''....HNN#;D#;#;#;<< 	Y 	YDHH'''2Dd2D2D)E)E)M)McSV)W)WXXXX	Y 	Yr   c                 @    d |                      d          D             S )z%Script string to list of instructionsc                 :    g | ]}||                                 S  strip.0r   s     r   
<listcomp>z2JessyInkMixin.prop_str_to_list.<locals>.<listcomp>?   s%    CCCdC

CCCr   ;)split)strings    r   prop_str_to_listzJessyInkMixin.prop_str_to_list<   s%     DCc):):CCCCr   c                 2    d                     |           dz   S )z%List of instructions to script string; r.   )join)lsts    r   list_to_prop_strzJessyInkMixin.list_to_prop_strA   s     yy~~##r   N)T)
__name__
__module____qualname____doc__r   r   r%   staticmethodr1   r6   r(   r   r   r   r      s          3 3 3 3Y Y Y D D \D $ $ \$ $ $r   r   c                       e Zd ZdZd Zd ZdS )Installz&Install jessyInk extension into an SVGc                 @    |                     dt          d           d S )Nz--tabwhat)typedest)add_argumentstr)r   parss     r   add_argumentszInstall.add_argumentsJ   s#    '&99999r   c                    | j                             d          D ])}|                                                    |           *t	                      }t          |                     d                    5 }|                                |_        d d d            n# 1 swxY w Y   |	                    dd           |	                    dd           | j         
                    |           d | j                             dd	                              d
          D             }d|v r|                    d           | j         	                    dd                    |          pd            dD ]}|                     |           d S )Nz//svg:script[@id='JessyInk']zjessyInk.jsidJessyInkzjessyink:versionz1.5.5c                 6    g | ]}|                                 S r(   r)   r+   s     r   r-   z"Install.effect.<locals>.<listcomp>[   s     TTTdTZZ\\TTTr   onload r.   zjessyInkInit()r3   )effectIn	effectOutmasterSlidetransitionIntransitionOutautoText)r	   r   	getparentremover   openget_resourcereadtextr   appendr"   r/   r4   r%   )r   r   script_elemfhl	prop_listattrs         r   effectzInstall.effectM   s   HNN#ABB 	* 	*DNN##D)))) hh$##M2233 	*s"xxzzK	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*j)))*G444$$$ UTdhll8R.H.H.N.Ns.S.STTT	y((-...Xtyy33;t<<<
 	# 	#D T""""	# 	#s   5BB"BN)r7   r8   r9   r:   rE   r]   r(   r   r   r=   r=   G   s8        00: : :# # # # #r   r=   __main__)r:   r   r   inkex.localizationr   r   NSSobjectr   EffectExtensionr=   r7   runr(   r   r   <module>rd      s   $          1 1 1 1 1 18	* ($ ($ ($ ($ ($F ($ ($ ($V"# "# "# "# "#mU2 "# "# "#L zGIIMMOOOOO r   