
    >wg
                     F    d dl mZ ddlmZ  G d dej                        Zy)    )warn   )	chart_piec                   <     e Zd ZdZd fd	Zd Zd Zd Zd Z xZ	S )ChartDoughnutz?
    A class for writing the Excel XLSX Doughnut charts.


    c                 T    t         t        |           d| _        d| _        d| _        y)z
        Constructor.

        r   r   2   N)superr   __init__vary_data_colorrotation	hole_size)selfoptions	__class__s     P/var/www/horilla/myenv/lib/python3.12/site-packages/xlsxwriter/chart_doughnut.pyr   zChartDoughnut.__init__   s(    
 	mT+-     c                 \    |y|dk  s|dkD  rt        d|z         yt        |      | _        y)z
        Set the Doughnut chart hole size.

        Args:
            size: 10 <= size <= 90.

        Returns:
            Nothing.

        N
   Z   z8Chart hole size %d outside Excel range: 10 <= size <= 90)r   intr   )r   sizes     r   set_hole_sizezChartDoughnut.set_hole_size%   s7     < "9r	KdRSTr   c                 &    | j                  |       y N)_write_doughnut_chart)r   argss     r   _write_chart_typezChartDoughnut._write_chart_type@   s     	""4(r   c                     | j                  d       | j                          | j                  D ]  }| j                  |        | j	                          | j                          | j                  d       y )Nzc:doughnutChart)_xml_start_tag_write_vary_colorsseries
_write_ser_write_first_slice_ang_write_c_hole_size_xml_end_tag)r   r   datas      r   r   z#ChartDoughnut._write_doughnut_chartK   sm     	-. 	! KK 	"DOOD!	" 	##% 	!+,r   c                 F    d| j                   fg}| j                  d|       y )Nvalz
c:holeSize)r   _xml_empty_tag)r   
attributess     r   r%   z ChartDoughnut._write_c_hole_size_   s#    dnn-.
L*5r   r   )
__name__
__module____qualname____doc__r   r   r   r   r%   __classcell__)r   s   @r   r   r      s!    	#6)-(6r   r   N)warningsr    r   ChartPier    r   r   <module>r5      s!     V6I&& V6r   