o
    5ti                     @   sJ   d dl Z d dlmZ ddlmZ G dd de jdZG dd	 d	eeZdS )
    N)Any   )AbstractTableWriterc                   @   s8   e Zd ZejdefddZejdeddfddZdS )BinaryWriterInterfacereturnc                 C      d S N selfr	   r	   Z/home/ubuntu/.local/lib/python3.10/site-packages/pytablewriter/writer/binary/_interface.py	is_opened      zBinaryWriterInterface.is_opened	file_pathNc                 C      dS )zn
        Open a file for output stream.

        Args:
            file_path (str): path to the file.
        Nr	   )r   r   r	   r	   r   open   s    zBinaryWriterInterface.open)	__name__
__module____qualname__abcabstractmethodboolr   strr   r	   r	   r	   r   r      s
    r   )	metaclassc                       s   e Zd ZedefddZejdeddfddZedefddZd	eddf fd
dZ	dddZ
defddZdefddZdddZdddZ  ZS )AbstractBinaryTableWriterr   c                 C   s   | j S r   )_streamr
   r	   r	   r   stream   s   z AbstractBinaryTableWriter.streamvalueNc                 C      t d)NzIcannot assign a stream to binary format writers. use open method instead.)RuntimeError)r   r   r	   r	   r   r      s   c                 C   r   )NTr	   r
   r	   r	   r   support_split_write!   r   z-AbstractBinaryTableWriter.support_split_writekwargsc                    s*   t  jdi | |dd| _d | _d S )N
table_name r	   )super__init__getr"   r   )r   r!   	__class__r	   r   r%   %   s   
z"AbstractBinaryTableWriter.__init__c                 C   s   |    d S r   )closer
   r	   r	   r   __del__,   s   z!AbstractBinaryTableWriter.__del__c                 C   s
   | j d uS r   )r   r
   r	   r	   r   r   /   s   
z#AbstractBinaryTableWriter.is_openedc                 C   r   )Nz2binary format writers did not support dumps method)NotImplementedErrorr
   r	   r	   r   dumps2   s   zAbstractBinaryTableWriter.dumpsc                 C   s   | j d u r	tdd S )Nz6null output stream. required to open(file_path) first.)r   OSErrorr
   r	   r	   r   _verify_stream5   s   
z(AbstractBinaryTableWriter._verify_streamc                 C   r   r   r	   r
   r	   r	   r   _write_value_row_separator9   s   z4AbstractBinaryTableWriter._write_value_row_separator)r   N)r   r   r   propertyr   r   setterr   r    r%   r*   r   r   r,   r.   r/   __classcell__r	   r	   r'   r   r      s    

r   )r   typingr   _table_writerr   ABCMetar   r   r	   r	   r	   r   <module>   s
    