
    ,h2                     ,    d dl Z d dlmZ  G d d      Zy)    N)warnc                        e Zd ZdZ fdZd Zed        Zed        Zed        Z	ed        Z
ed        Zed	        Zed
        Zed        Z xZS )Shapez>
    A class for to represent Excel XLSX shape objects.


    c                    t         |           || _        || _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        d| _        d| _        d| _        d| _        d| _        g | _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        | j;                  |       y)z
        Constructor.

        r       NF)super__init__name
shape_typeconnectdrawingedit_asidtexttextlinkstencilelementstartstart_indexend	end_indexadjustments
start_sideend_sideflip_hflip_vrotationtext_rotationtextboxalignfillfontformatline_set_options)selfr   r   options	__class__s       R/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/xlsxwriter/shape.pyr   zShape.__init__   s    
 		$	

			'"    c                    | j                  |j                  d            | _        | j                  |j                  d            | _        | j                  |j                  d            | _        | j                  |j                  d            | _        | j                  |j                  d            | _
        |j                  dd      | _        |j                  dd	      | _        | j                  j                  d
      r | j                  j                  d
      | _        |j                  d      r| j                  |d         | _
        | j                  rd | _        y y )Nr"   r#   r$   gradientr&   r    r   r   r   =border)_get_align_propertiesgetr"   _get_fill_propertiesr#   _get_font_propertiesr$   _get_gradient_propertiesr.   _get_line_propertiesr&   r    r   
startswithlstrip)r(   r)   s     r+   r'   zShape._set_optionsE   s   //G0DE
--gkk&.AB	--gkk&.AB	55gkk*6MN--gkk&.AB	$[[!<J3==##C( MM005DM;;x 11'(2CDDI ==DI r,   c                     | sddiS t        j                  |       } ddddddd	d
dddd}| j                  d      }|||v r	||   | d<   nt        d| d       i S d| d<   | S )NdefinedFsolidsysDotsysDashdashdashDotlgDash	lgDashDotlgDashDotDotdot
sysDashDotsysDashDotDot)r;   	round_dot
square_dotr>   dash_dot	long_dashlong_dash_dotlong_dash_dot_dotrC   system_dash_dotsystem_dash_dot_dot	dash_typezUnknown dash type ''Tcopydeepcopyr2   r   )r&   
dash_typesrN   s      r+   r6   zShape._get_line_properties_   s     u%% }}T" !#!!(!/+#2

 HH[)	 J&$.y$9[!*9+Q78	Yr,   c                 F    | sddiS t        j                  |       } d| d<   | S )Nr:   FT)rQ   rR   )r#   s    r+   r3   zShape._get_fill_properties   s0     u%% }}T"Yr,   c                    | si S t        j                  |       } | j                  d      st        d       i S | j                  d      st        d       i S i ddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&i d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdV}| d   |vrt        dW| d    dX       i S || d      | d<   | j                  dYdZ      | dY<   | S )[NpatternzPattern must include 'pattern'fg_colorzPattern must include 'fg_color'	percent_5pct5
percent_10pct10
percent_20pct20
percent_25pct25
percent_30pct30
percent_40pct40
percent_50pct50
percent_60pct60
percent_70pct70
percent_75pct75
percent_80pct80
percent_90pct90light_downward_diagonalltDnDiaglight_upward_diagonalltUpDiagdark_downward_diagonaldkDnDiagdark_upward_diagonaldkUpDiagwide_downward_diagonalwdDnDiagwide_upward_diagonalwdUpDiaglight_verticalltVertlight_horizontalltHorznarrow_verticalnarVertnarrow_horizontalnarHorzdark_verticaldkVertdark_horizontaldkHorzdashed_downward_diagonal
dashDnDiagdashed_upward_diagonal
dashUpDiagdashed_horizontaldashHorzdashed_verticaldashVertsmall_confetti
smConfettilarge_confetti
lgConfettizigzagzigZagwavediagonal_brick	diagBrickhorizontal_brick	horzBrickweaveplaiddivotdotGriddotDmndshingletrellisspheresmGridlgGridsmChecklgCheckopenDmnd	solidDmnd)r   r   r   dotted_griddotted_diamondr   r   r   
small_grid
large_gridsmall_checklarge_checkoutlined_diamondsolid_diamondzunknown pattern type 'rO   bg_colorz#FFFFFFrP   )rV   typess     r+   _get_pattern_propertieszShape._get_pattern_properties   s    I --({{9%12I{{:&23I1
1
'1
 '1
 '	1

 '1
 '1
 '1
 '1
 '1
 '1
 '1
 '1
 &z1
 $Z1
 %j1
  #J!1
" %j#1
$ #J%1
& h'1
( )1
* y+1
,  -1
. X/1
0 x11
2 '31
4 %l51
6  71
8 z91
: l;1
< l=1
> h?1
@ FA1
B kC1
D E1
F $'  ""$$ *(a1
h 9U*)')*<)=Q?@I"79#56	 &kk*i@
r,   c                    | si S t        j                  |       } ddddd}d| vst        | d   t              st	        d       i S dt        | d         cxk  rd	k  sn t	        d
       i S d| v rQt        | d         t        | d         k7  rt	        d       i S | d   D ]  }d|cxk  rdk  rn t	        d       i c S  nXt        | d         dk(  rddg| d<   n?t        | d         dk(  rg d| d<   n&t        | d         dk(  rg d| d<   nt	        d       i S | j                  d      }|rd|cxk  rdk  sn t	        d       i S d| d<   | j                  d      }|||v r
||   | d<   | S t	        d|        i S d| d<   | S )Nlinearcirclerectshape)r   radialrectangularpathcolorsz!Gradient must include colors list   
   z@Gradient colors list must at least 2 values and not more than 10	positionsz0Gradient positions not equal to number of colorsr   d   z;Gradient position must be in the range 0 <= position <= 100   )r   2   r      )r   !   B   r   zMust specify gradient positionsangleih  z4Gradient angle must be in the range 0 <= angle < 360Z   typezUnknown gradient type ')rQ   rR   
isinstancelistr   lenr2   )r.   r   posr   gradient_types        r+   r5   zShape._get_gradient_properties   s   
 I ==* !	
 8#:hx6H$+O45I C*+1r1STI("8K()S(1C-DDGH	  , C3VWI 8H%&!+)*C%Xh'(A-(4%Xh'(A-(8% 67	W%##KL	 "HW !V,$%#(#7   .}o>?	'HVr,   c                    | i } | j                  d      | j                  d      | j                  dd      | j                  d      | j                  d      | j                  d      | j                  d      | j                  d	      | j                  d
d      | j                  dd      d
}|d   rt        |d   dz        |d<   |S )Nr   colorsize   bolditalic	underlinepitch_familycharsetbaseliner	   langzen-US)
r   r   r   r   r   r   r   r   r   r   r   )r2   int)r)   r$   s     r+   r4   zShape._get_font_properties0  s     ?G KK'[[)KK+KK'kk(+ [1#KK7{{9-J3KK0
 <tF|c12DLr,   c                    g }| s|S | j                  d      r|j                  d| d   f       | j                  d      |j                  dd| d   z   f       | j                  d      |j                  dd| d   z   f       | j                  d      |j                  d	       | j                  d
      dk7  r|j                  d
| d
   f       |S )Nr   szr   br   r   ir   )usngr   r	   )r2   appendr$   
attributess     r+   _get_font_style_attributesz Shape._get_font_style_attributesI  s     
88FtT&\2388F'sAV$45688H)sAX$67888K ,l+88J2%z4
+;<=r,   c                     g }| s|S | d   |j                  d| d   f       | d   |j                  d| d   f       | d   |j                  d| d   f       |S )Nr   typefacer   pitchFamilyr   )r   r   s     r+   _get_font_latin_attributesz Shape._get_font_latin_attributesb  s}     
<#z4<89+}d>.BCD	?&y$y/:;r,   c                    | sddiS t        j                  |       } d| v r+| d   }dddd}||v r	||   | d<   nt        d| d	       ddiS d
| v r+| d
   }dddd}||v r	||   | d
<   nt        d| d	       ddiS d| d<   | S )Nr:   Fverticaltopmiddlebottom)r   r   r   zUnknown alignment type 'rO   
horizontalleftcenterright)r   r   r   T)rQ   rR   r   )r"   
align_typealign_typess      r+   r1   zShape._get_align_propertiesu  s     u%% e$z*J ""K [($/
$;j!/
|1=>!5))5 |,J " K [(&1*&=l#/
|1=>!5))ir,   )__name__
__module____qualname____doc__r   r'   staticmethodr6   r3   r   r5   r4   r   r   r1   __classcell__)r*   s   @r+   r   r      s    ##V4 # #J   N N` I IV  0  0  $ ( (r,   r   )rQ   warningsr   r    r,   r+   <module>r      s     Q Qr,   