
    dh                         d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	  G d de      Z
 G d de
      Z G d	 d
e
      Z ed       G d d             Z edd      Z edd      Zy)    )ABCabstractmethod)	dataclass)Path)AnyUnionc                   h    e Zd Zedeeef   deeef   fd       Zedeeef   deeef   fd       Zy)FilesPathWrapperpathreturnc                      y N selfr   s     Q/var/www/netwell/bot/venv/lib/python3.12/site-packages/aiogram/client/telegram.pyto_localzFilesPathWrapper.to_local           c                      y r   r   r   s     r   	to_serverzFilesPathWrapper.to_server   r   r   N)	__name__
__module____qualname__r   r   r   strr   r   r   r   r   r
   r
      sh    U49- %c	2B   eD#I. 5s3C  r   r
   c                   T    e Zd Zdeeef   deeef   fdZdeeef   deeef   fdZy)BareFilesPathWrapperr   r   c                     |S r   r   r   s     r   r   zBareFilesPathWrapper.to_local       r   c                     |S r   r   r   s     r   r   zBareFilesPathWrapper.to_server   r   r   N)r   r   r   r   r   r   r   r   r   r   r   r   r      sL    U49- %c	2B eD#I. 5s3C r   r   c            	           e Zd ZdededdfdZedeeef   deeef   deeef   defd	       Zd
eeef   deeef   fdZ	d
eeef   deeef   fdZ
y)SimpleFilesPathWrapperserver_path
local_pathr   Nc                      || _         || _        y r   )r#   r$   )r   r#   r$   s      r   __init__zSimpleFilesPathWrapper.__init__   s    &$r   base1base2valuec                 @    t        |      j                  |      }||z  S r   )r   relative_to)clsr'   r(   r)   relatives        r   _resolvezSimpleFilesPathWrapper._resolve   s#     ;**51xr   r   c                 R    | j                  | j                  | j                  |      S N)r'   r(   r)   )r.   r#   r$   r   s     r   r   zSimpleFilesPathWrapper.to_local%   s"    }}4#3#34??RV}WWr   c                 R    | j                  | j                  | j                  |      S r0   )r.   r$   r#   r   s     r   r   z SimpleFilesPathWrapper.to_server(   s"    }}4??$:J:JRV}WWr   )r   r   r   r   r&   classmethodr   r   r.   r   r   r   r   r   r"   r"      s    %D %d %t %  $)$ -249-= FKDRUIFV 	   XU49- X%c	2B XXeD#I. X5s3C Xr   r"   T)frozenc                       e Zd ZU dZeed<   	 eed<   	 dZeed<   	  e       Z	e
ed<   	 deded	efd
Zdedeeef   d	efdZededed	d fd       Zy)TelegramAPIServerz'
    Base config for API Endpoints
    basefileFis_localwrap_local_filetokenmethodr   c                 <    | j                   j                  ||      S )z
        Generate URL for API methods

        :param token: Bot token
        :param method: API method name (case insensitive)
        :return: URL
        )r:   r;   )r6   format)r   r:   r;   s      r   api_urlzTelegramAPIServer.api_url<   s     yyeF;;r   r   c                 <    | j                   j                  ||      S )z
        Generate URL for downloading files

        :param token: Bot token
        :param path: file path
        :return: URL
        )r:   r   )r7   r=   )r   r:   r   s      r   file_urlzTelegramAPIServer.file_urlF   s     yye$77r   kwargsc                 F    |j                  d      } | d| d| dd|S )z
        Use this method to auto-generate TelegramAPIServer instance from base URL

        :param base: Base URL
        :return: instance of :class:`TelegramAPIServer`
        /z/bot{token}/{method}z/file/bot{token}/{path}r6   r7   r   )rstrip)r,   r6   rA   s      r   	from_basezTelegramAPIServer.from_baseP   sD     {{3 
612645
 
 	
r   N)r   r   r   __doc__r   __annotations__r8   boolr   r9   r
   r>   r   r   r@   r2   r   rF   r   r   r   r5   r5   ,   s     I
IHd[(<(>O%>3<S <# <# <8c 8sDy)9 8c 8 
S 
C 
4G 
 
r   r5   z,https://api.telegram.org/bot{token}/{method}z/https://api.telegram.org/file/bot{token}/{path}rD   z1https://api.telegram.org/bot{token}/test/{method}z4https://api.telegram.org/file/bot{token}/test/{path}N)abcr   r   dataclassesr   pathlibr   typingr   r   r
   r   r"   r5   
PRODUCTIONTESTr   r   r   <module>rP      s|    # !  s + X- X& $0
 0
 0
f 	7	:
 	<	?r   