o
    5t¾i¿  ã                   @   s<   d dl Z d dlmZ d dlZddlmZ G dd„ deƒZdS )é    N)ÚAnyé   )ÚIndentationTextTableWriterc                       s¬   e Zd ZdZejdedefdd„ƒZedefdd„ƒZ	ede
fdd	„ƒZejde
dd
fdd	„ƒZdedd
f‡ fdd„Zdee fdd„Zd‡ fdd„Zd‡ fdd„Z‡  ZS )ÚSourceCodeTableWriteral  
    Base class of table writer with a source code (variable definition) format.

    .. py:attribute:: is_datetime_instance_formatting
        :type: bool

        Write |datetime| values in the table as definition of |datetime| class
        instances coincide with specific language if this value is |True|.
        Write as |str| if this value is |False|.
    ÚvalueÚreturnc                 C   ó   d S ©N© ©Úselfr   r
   r
   úd/home/ubuntu/.local/lib/python3.10/site-packages/pytablewriter/writer/text/sourcecode/_sourcecode.pyÚget_variable_name   s   z'SourceCodeTableWriter.get_variable_namec                 C   s   |   | j¡S )zY
        str: Return a valid variable name that converted from the |table_name|.
        )r   Ú
table_name©r   r
   r
   r   Úvariable_name   s   z#SourceCodeTableWriter.variable_namec                 C   s   | j S r	   )Ú_marginr   r
   r
   r   Úmargin!   s   zSourceCodeTableWriter.marginNc                 C   r   r	   r
   r   r
   r
   r   r   %   s   Úkwargsc                    sŽ   t ƒ jd
i |¤Ž | dd¡| _d| _d| _d| _d| _d| _d| _	d| _
d| _d| _d	| _d	| _d| _d	| _d| jtjj< d	| _|  ¡  d S )NÚindent_stringz    z, r   ú[z],Ú FTr
   )ÚsuperÚ__init__Úgetr   Úcolumn_delimiterr   Úchar_left_side_rowÚchar_right_side_rowÚchar_cross_pointÚchar_opening_row_cross_pointÚchar_closing_row_cross_pointÚ
is_paddingÚis_write_header_separator_rowÚis_write_opening_rowÚis_write_closing_rowÚis_formatting_floatÚis_datetime_instance_formattingÚ_quoting_flagsÚtypepyÚTypecodeÚDATETIMEÚ_is_require_table_nameÚ_init_cross_point_maps)r   r   ©Ú	__class__r
   r   r   *   s$   zSourceCodeTableWriter.__init__c                 C   s   g S r	   r
   r   r
   r
   r   Ú_get_value_row_separator_itemsD   s   z4SourceCodeTableWriter._get_value_row_separator_itemsc                    ó   |   ¡  tƒ  ¡  |  ¡  d S r	   )Údec_indent_levelr   Ú_write_opening_rowÚinc_indent_levelr   r-   r
   r   r2   G   ó   
z(SourceCodeTableWriter._write_opening_rowc                    r0   r	   )r1   r   Ú_write_closing_rowr3   r   r-   r
   r   r5   L   r4   z(SourceCodeTableWriter._write_closing_row)r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚabcÚabstractmethodÚstrr   Úpropertyr   Úintr   Úsetterr   r   Úlistr/   r2   r5   Ú__classcell__r
   r
   r-   r   r   	   s    r   )r:   Útypingr   r(   Ú_text_writerr   r   r
   r
   r
   r   Ú<module>   s
    