o
    5ti                     @   s<   d dl mZ d dlZd dlZddlmZ G dd deZdS )    )AnyN   )CsvTableWriterc                       sd   e Zd ZdZdZedefddZedefddZ	de
dd	f fd
dZde
dd	fddZ  ZS )LtsvTableWriterz
    A table writer class for
    `Labeled Tab-separated Values (LTSV) <http://ltsv.org/>`__ format.

        :Example:
            :ref:`example-ltsv-table-writer`
    ltsvreturnc                 C   s   | j S )N)FORMAT_NAMEself r   S/home/ubuntu/.local/lib/python3.10/site-packages/pytablewriter/writer/text/_ltsv.pyformat_name   s   zLtsvTableWriter.format_namec                 C   s   dS )NTr   r	   r   r   r   support_split_write   s   z#LtsvTableWriter.support_split_writekwargsNc                    s"   t  jdi | d| _d| _d S )NFTr   )super__init__is_write_header_is_require_header)r
   r   	__class__r   r   r      s   
zLtsvTableWriter.__init__c                 K   sz   | j 0 |   |   | jD ]}dd t| j|D }t|r"q| d	| qW d   dS 1 s6w   Y  dS )z
        |write_table| with
        `Labeled Tab-separated Values (LTSV) <http://ltsv.org/>`__ format.
        Invalid characters in labels/data are removed.

        :Example:
            :ref:`example-ltsv-table-writer`
        c                 S   s0   g | ]\}}t |rt|d d| qS )s:)typepyis_not_null_stringpathvalidatesanitize_ltsv_label).0header_namevaluer   r   r   
<listcomp>2   s    z/LtsvTableWriter.write_table.<locals>.<listcomp>	N)
_logger_verify_property_preprocess_table_value_matrixzipheadersr   is_empty_sequence_write_linejoin)r
   r   valuesltsv_item_listr   r   r   write_table#   s   



"zLtsvTableWriter.write_table)__name__
__module____qualname____doc__r   propertystrr   boolr   r   r   r,   __classcell__r   r   r   r   r   	   s    r   )typingr   r   r   _csvr   r   r   r   r   r   <module>   s
    