o
    hU                     @  s\   U d dl mZ d dlZd dlZddlmZ edZded< G dd	 d	ej	Z
dddZdS )    )annotationsN   )ServerVersionz|(Postgre[^\s]*)?\s*(?P<major>[0-9]+)\.?((?P<minor>[0-9]+)\.?)?(?P<micro>[0-9]+)?(?P<releaselevel>[a-z]+)?(?P<serial>[0-9]+)?ztyping.Finalversion_regexc                   @  s6   e Zd ZU ded< ded< ded< ded< ded< d	S )
_VersionDictintmajorz
int | Noneminormicroz
str | NonereleaselevelserialN)__name__
__module____qualname____annotations__ r   r   i/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/asyncpg/serverversion.pyr      s   
 r   version_stringstrreturnr   c              
   C  s   t | }|d u rtd|  d| }| D ]\}}zt|||< W q ttfy0   Y qw |d dk rUt|d |dpAd|dpGd|dpMd	|d
pSdS t|d d|dp`d|dpfd	|d
pldS )Nz'Unable to parse Postgres version from ""r   
   r	   r   r
   r   finalr   )	r   search
ValueError	groupdictitemsr   	TypeErrorr   get)r   version_matchversionver_key	ver_valuer   r   r   split_server_version_string    s:   
r#   )r   r   r   r   )
__future__r   retypingtypesr   compiler   r   	TypedDictr   r#   r   r   r   r   <module>   s   
