
    Og                    p    d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZ erd dlmZ d
ddZd
dd	Zy)    )annotations)TYPE_CHECKINGTextIOIterableOptional)is_dxf_file)dxf_file_info)ascii_tags_loader)DXFTagNc                n    xs
 t               j                  d       fdt        | d      D        S )a   
    Yields comment tags from text `stream` as :class:`~ezdxf.lldxf.types.DXFTag` objects.

    Args:
        stream: input text stream
        codes: set of group codes to yield additional DXF tags e.g. {5, 0} to also yield handle and structure tags

    i  c              3  @   K   | ]  }|j                   v s|  y wN)code).0tagcodess     S/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/ezdxf/comments.py	<genexpr>zfrom_stream.<locals>.<genexpr>   s     _CSXXY^M^C_s   F)skip_comments)setaddr
   )streamr   s    `r   from_streamr      s.     NSUE	IIcN_,V5I__    c              #     K   t        |       rBt        |       }t        | d|j                        5 }t	        ||      E d{    ddd       yt        d|  d      7 # 1 sw Y   yxY ww)a  
    Yields comment tags from file `filename` as :class:`~ezdxf.lldxf.types.DXFTag` objects.

    Args:
        filename: filename as string
        codes: yields also additional tags with specified group codes e.g. {5, 0} to also yield handle and
               structure tags

    rt)modeencoding)r   NzFile "z" is not a DXF file.)r   r	   openr   r   IOError)filenamer   infofps       r   	from_filer$      sr      8X&(> 	4""2U333	4 	4 xj(<=>> 4	4 	4s.   /A-A!AA!A-A!!A*&A-r   )r   r   r   Optional[set[int]]returnIterable[DXFTag])r!   strr   r%   r&   r'   )
__future__r   typingr   r   r   r   ezdxf.lldxf.validatorr   ezdxf.filemanagementr	   ezdxf.lldxf.taggerr
   ezdxf.lldxf.typesr   r   r$    r   r   <module>r0      s*    # < < - . 0(`?r   