
    BPc                         d Z ddlZddlmZ ddlZddlmZmZ  G d deej                  Z	d Z
d Zed	k    r e	                                             dS dS )
zAdd a video to the slideshow    N)deepcopy)JessyInkMixin_c                       e Zd ZdZd Zd ZdS )VideozAdd jessyink videoc                 >    | j                             dd           d S )Nz--tabwhat)dest)
arg_parseradd_argument)selfparss     0/usr/share/inkscape/extensions/jessyink_video.pyadd_argumentszVideo.add_arguments   s#    $$W6$:::::    c                 0   |                                   | j                            d          }|!t          j        t          d                    | j                                        }|!t          j        t          d                    t          j        |                     d                    }|	                                }|
                    |                    d                                                    }t          ||i           }t          |           |                                D ]}|                    d|           |                                D ]1}|                    | j                            d          d	           2d S )
Nz //sodipodi:namedview[@id='base']zGCould not obtain the selected layer for inclusion of the video element.zICould not obtain the selected layer for inclusion of the video element.

zjessyink_video.svgz'//svg:g[@jessyink:element='core.video']r   zjessyink.core.videoT)	backlinks)is_installedsvgxpathinkexAbortExtensionr   get_current_layerload_svgget_resourcegetrootadd
getElementcopyfind_internal_links
delete_idsvaluesinsertset_idget_unique_id)r   	base_viewlayertemplaterootelem	node_dictnodes           r   effectzVideo.effect!   s   HNN#EFF	&]    **,,=&a    >$"3"34H"I"IJJ!!yyOOEFFKKMM
 
 (dB77	4$$&& 	! 	!DKK4    $$&& 	W 	WDKK../DEEQUKVVVV	W 	Wr   N)__name__
__module____qualname____doc__r   r-    r   r   r   r      s=        ; ; ; W  W  W  W  Wr   r   c                 8   t          j        d|                                           D ]p}|                                }|dt	          |          dz
           }||vr<t          |                    |                    ||<   t          ||         ||           q|                                 D ]l}|	                    d          rU|	                    d          }||vr<t          |                    |                    ||<   t          ||         ||           m|S )z!Get all clone links and css linkss
   url\(#.*\)      z
xlink:href)
refindalltostringdecodelenr   getElementByIdr    iterget)r,   r   r+   entrylink_ids        r   r    r    D   s   NDMMOO<< D DCJJN*+)##!)#*<*<W*E*E!F!FIg	' 2CCCC H H99\"" 	Hii--Gi''%-c.@.@.I.I%J%J	'"#Ig$6YGGGr   c                 V    |                                  D ]}d|j        v r|j        d= dS )z'Delete ids in the given node's childrenidN)r<   attrib)r,   r>   s     r   r!   r!   X   s;     # #5<T"# #r   __main__)r1   r6   r   r   r   jessyink_installr   r   EffectExtensionr   r    r!   r.   runr2   r   r   <module>rG      s   $ # " 				        - - - - - - - -&W &W &W &W &WM50 &W &W &WR  (# # # z	EGGKKMMMMM r   