
    BPc                         d Z ddlmZ ddlZddlmZmZ  G d deej                  Ze	dk    r e            
                                 dS dS )z$Effect to print out jessyInk summary    )defaultdictN)JessyInkMixin_c                   L    e Zd ZdZd Zd Zd Zd Zd Zd Z	e
d             Zd	S )
SummaryzPrint of jessyInk summaryc                 0    |                     d           d S )Nz--tab)add_argument)selfparss     2/usr/share/inkscape/extensions/jessyink_summary.pyadd_argumentszSummary.add_arguments   s    '"""""    c           	         |                                   | j                            d          D ]q}|                    d          }|r6|                     t          d                    |                               O|                     t          d                     rg }d }| j                                                            t          j	                  D ]/}|                    d          r|}|
                    |           0|I|                     t          d                     |                     |ddt          |          d	g           t          |          D ]l\  }}|                     t          d
                              |dz                        |                     |d|dz   t          |          |j        g           md S )Nz//svg:script[@id='JessyInk']zjessyink:versionz%JessyInk script version {} installed.zJessyInk script installed.zjessyink:master_slidez
Master slide:	z<the number of the slide>z<the title of the slide>z
Slide {0!s}:   )is_installedsvgxpathgetmsgr   formatdescendantsinkexLayerappenddescribe_nodelen	enumeratelabel)r
   nodeversionslidesmaster_slideislides          r   effectzSummary.effect    s    HNN#ABB 	: 	:Dhh122G :BII'RRSSTTTT7889999H((**..u{;; 	$ 	$Dxx/00 $#d#####HHQ())***,c&kk;UV   "&)) 	O 	OHAuHHQ'((//A66777udQUCKK,MNNNN	O 	Or   c                    |                      t          | d|j                              |                     ||d           |                     ||d           |                     |||           |                     ||           dS )zStandard print out formatterzLayer name: InOutN)r   r   r   describe_transitiondescribe_autotextdescribe_effects)r
   r    prefixdats       r   r   zSummary.describe_node@   s     	f66$*6677888  vt444  vu555tVS111dF+++++r   c           
      ~   t          j        |                    d|                     }|r|d         }|dk    rVd|v rRt          |d         dz            }|                     t          d                    ||||                               d	S |                     t          | d| d|                      d	S d	S )
z&Display information about transitions.zjessyink:transitionnameappearlength     @@z {0}Transition {1}: {2} ({3!s} s)zTransition z: N)r   Styler   intr   r   r   )r
   r    r-   
transitiontransr0   r2   s          r   r*   zSummary.describe_transitionI   s    DHH%G:%G%GHHII 	H=DxH$5$5U8_v566:AA"Jf       fEEEEtEEFFGGGGG	H 	Hr   c                    |d         |d         |d         d}t          |                    d                    D ]\  }}|s5|                     t          d                              |                     |                                                    d          }||                    d                   }|                     t          t          d	                              ||j        ||                               d
S )z%Display information about auto-texts.r   r      )	slide_numnumtitlez.//*[@jessyink:autoText]z
{0}Auto-texts:idzjessyink:autoTextz6{0}	"{1}" (object id "{2}") will be replaced by "{3}".N)r   r   r   r   r   	getparentr   text)	r
   r    r-   r.   
auto_textsxchildpidvals	            r   r+   zSummary.describe_autotextZ   s   #&q6#a&3q6JJ
!$**-G"H"HII 	 	HAu ?-..55f==>>>//##''--CUYY':;;<CHHOPPWW
C     	 	r   c           	         t          |                     |          d           }t          |          D ]\  }\  }}d}|d         d         }|s'|t          d                              ||          z  }n'|t          d                              |||          z  }|D ]}	|	d         }
|	d	         d
k    r'|t          d                              ||
          z  }nc|t          d                              ||
          z  }|	d         dk    r|t          d          z  }n|	d         dk    r|t          d          z  }|	d         dk    r+|t          d                              |	d                   z  }d|	v r;|t          d                              t          |	d                   dz            z  }|                     |dz              dS )z"Display information about effects.c                     | d         S )Nr    )rD   s    r   <lambda>z*Summary.describe_effects.<locals>.<lambda>m   s
    SV r   )key r   orderz&
{0}Initial effect (order number {1}):z"
{0}Effect {1} (order number {2}):r=   typeviewz.{0}	View will be set according to object "{1}"z{0}	Object "{1}"	directioninz will appearoutz will disappearr0   r1   z using effect "{0}"r2   z in {0!s} sr3   z.
N)sortedcollect_effectsr   r   r   r5   r   )r
   r    r-   effectsrA   enumr&   retrK   itemeids              r   r,   zSummary.describe_effectsk   s   --d339K9KLLL!*7!3!3 !	" !	"A~fC1Ig&E qBCCJJE   q>??FFD%    Q Q4j<6))1NOOVV  CC 101188EEECK(D00q000k*e33q!2333<8++1233::4<HHHCt##1]++223tH~3F3F3OPPPCHHS5[!!!!C!	" !	"r   c                 0   t          t                    }|                     d          D ]l}t          j        |                    d                    }d|d<   |                    d          |d<   d|d<   ||d                                      |           m|                     d	          D ]l}t          j        |                    d
                    }d|d<   |                    d          |d<   d|d<   ||d                                      |           m|                     d          D ]g}t          j        |                    d                    }|                    d          |d<   d|d<   ||d                                      |           h|S )z"Collect information about effects.z.//*[@jessyink:effectIn]zjessyink:effectInrO   rN   r=   r&   rL   rK   z.//*[@jessyink:effectOut]zjessyink:effectOutrP   z.//*[@jessyink:view]zjessyink:viewrM   )r   listr   r   r4   r   r   )r    rS   rB   effect_datas       r   rR   zSummary.collect_effects   s    d##ZZ :;; 	> 	>E+eii0C&D&DEEK'+K$ %		$K"*KK()00====ZZ ;<< 	> 	>E+eii0D&E&EFFK',K$ %		$K"*KK()00====ZZ 677 	> 	>E+eii&@&@AAK %		$K"(KK()00====r   N)__name__
__module____qualname____doc__r   r&   r   r*   r+   r,   staticmethodrR   rG   r   r   r   r      s        ### # #O O O@, , ,H H H"  "$" $" $"L   \  r   r   __main__)r^   collectionsr   r   jessyink_installr   r   EffectExtensionr   r[   runrG   r   r   <module>re      s   $ + * # # # # # #  - - - - - - - -N N N N NmU2 N N Nb zGIIMMOOOOO r   