
    %j4                     b    d dl mZmZ d dlmZ  edd           G d d                      ZdS )    )	dataclassasdict)OptionalT)kw_onlyfrozenc                       e Zd ZU dZdZee         ed<   dZee         ed<   dZ	ee         ed<   dZ
ee         ed<   dZee         ed<   dZee         ed<   d	 ZdS )

StreamInfozThe StreamInfo class is used to store information about a file stream.
    All fields can be None, and will depend on how the stream was opened.
    Nmimetype	extensioncharsetfilename
local_pathurlc                 <   t          |           }|D ]W}t          |t                    sJ |                    d t          |                                          D                        Xt          |          dk    r|                    |           t          di |S )zsCopy the StreamInfo object and update it with the given StreamInfo
        instance and/or other keyword arguments.c                     i | ]
\  }}|||S )N ).0kvs      _/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/markitdown/_stream_info.py
<dictcomp>z.StreamInfo.copy_and_update.<locals>.<dictcomp>   s    RRRdaAMQMMM    r   r   )r   
isinstancer	   updateitemslen)selfargskwargsnew_infosis        r   copy_and_updatezStreamInfo.copy_and_update   s     $<< 	T 	TBb*-----OORRfRjj.>.>.@.@RRRSSSSv;;??OOF###%%H%%%r   )__name__
__module____qualname____doc__r
   r   str__annotations__r   r   r   r   r   r"   r   r   r   r	   r	      s           #Hhsm"""#Ix}###!GXc]!!! 	 h    !%J$$$C#& & & & &r   r	   N)dataclassesr   r   typingr   r	   r   r   r   <module>r+      s}    ) ) ) ) ) ) ) )       4%%%& & & & & & & &%& & &r   