
    F˝i                         d dl mZmZ d dlmZmZ d dlmZ d dl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field)Path)Anyc                   X    e Zd Zedeez  deez  fd       Zedeez  deez  fd       Zy)FilesPathWrapperpathreturnc                      y N selfr   s     P/home/leshdev/mybot/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   strr   r   r   r   r   r
   r
      sT    TCZ D3J   dSj TCZ  r   r
   c                   D    e Zd Zdeez  deez  fdZdeez  deez  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      s8    TCZ D3J dSj TCZ r   r   c            	           e Zd ZdededdfdZedeez  deez  deez  defd	       Zd
eez  deez  fdZd
eez  deez  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"      s    %D %d %t %  cz  cz  cz	 
 
   XTCZ XD3J XXdSj XTCZ Xr   r"   T)frozenc                       e Zd ZU dZeed<   	 eed<   	 dZeed<   	  e e	             Z
eed<   	 ded	ed
efdZdedeez  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)default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_urlI   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   rB   s      r   	from_basezTelegramAPIServer.from_baseS   sD     {{3 
612645
 
 	
r   N)r   r   r   __doc__r   __annotations__r8   boolr   r   r:   r
   r?   r   rA   r2   r   rG   r   r   r   r5   r5   /   s     I
IHd[(-6J6L(MO%M3<S <# <# <8c 8t 8 8 
S 
C 
4G 
 
r   r5   z,https://api.telegram.org/bot{token}/{method}z/https://api.telegram.org/file/bot{token}/{path}rE   z1https://api.telegram.org/bot{token}/test/{method}z4https://api.telegram.org/file/bot{token}/test/{path}N)abcr   r   dataclassesr   r   pathlibr   typingr   r
   r   r"   r5   
PRODUCTIONTESTr   r   r   <module>rQ      s|    # (  s + X- X, $0
 0
 0
f 	7	:
 	<	?r   