o
    ÜË³i}  ã                   @   s2   d dl Z d dl mZ d dlmZ G dd„ dƒZdS )é    N)ÚPattern)ÚValidationErrorc                   @   sB   e Zd ZU dZeed< eed< defdd„Zdedefdd	„Z	d
S )ÚParseNumberFromBracketsz:Extracts the size from a string in the form of prefix[22].ÚregexÚprefixc                 C   s   || _ t |› d¡| _d S )Nz	\[(\d+)\])r   ÚreÚcompiler   )Úselfr   © r
   úK/home/ubuntu/.local/lib/python3.10/site-packages/pyiceberg/utils/parsing.pyÚ__init__   s   z ParseNumberFromBrackets.__init__Ústr_reprÚreturnc                 C   s6   | j  |¡}|rt| d¡ƒS td|› d| j› dƒ‚)Né   zCould not match z, expected format z[22])r   ÚsearchÚintÚgroupr   r   )r	   r   Úmatchesr
   r
   r   Úmatch!   s   zParseNumberFromBrackets.matchN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__Ústrr   r   r   r
   r
   r
   r   r      s   
 r   )r   r   Úpyiceberg.exceptionsr   r   r
   r
   r
   r   Ú<module>   s   