U
    h$                     @   s   d Z ddlmZ ddlmZ ddlmZmZmZmZ ddl	Z	ddl
Z
ddlmZ erdddlmZmZ G d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZdS )zBFile generated by TLObjects' generator. All changes will be ERASED   )TLObject)	TLRequest    )OptionalListUnionTYPE_CHECKINGN)datetime)TypeInputFileLocationTypeInputWebFileLocationc                   @   sB   e Zd ZdZdZeeedddZdd Zdd	 Z	e
d
d ZdS )GetCdnFileRequestii_9l   (yk 
file_tokenoffsetlimitc                 C   s   || _ || _|| _dS )z]
        :returns upload.CdnFile: Instance of either CdnFileReuploadNeeded, CdnFile.
        Nr   )selfr   r   r    r   @/tmp/pip-unpacked-wheel-c81u5j2r/telethon/tl/functions/upload.py__init__   s    zGetCdnFileRequest.__init__c                 C   s   d| j | j| jdS )Nr   )_r   r   r   r   r   r   r   r   to_dict   s
    zGetCdnFileRequest.to_dictc              	   C   s.   d d| | jtd| jtd| jfS )N    s   i_9<q<i)joinserialize_bytesr   structpackr   r   r   r   r   r   _bytes!   s    
zGetCdnFileRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr   )tgread_bytes	read_longread_int)clsreader_file_token_offset_limitr   r   r   from_reader)   s    zGetCdnFileRequest.from_readerN__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDbytesintr   r   r   classmethodr(   r   r   r   r   r      s   r   c                   @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )GetCdnFileHashesRequestl   1?#    &(K r   r   c                 C   s   || _ || _dS zK
        :returns Vector<FileHash>: This type has no constructors.
        Nr4   )r   r   r   r   r   r   r   5   s    z GetCdnFileHashesRequest.__init__c                 C   s   d| j | jdS )Nr2   )r   r   r   r4   r   r   r   r   r   <   s    zGetCdnFileHashesRequest.to_dictc                 C   s"   d d| | jtd| jfS )Nr   s   1?ܑr   )r   r   r   r   r   r   r   r   r   r   r   C   s
    
zGetCdnFileHashesRequest._bytesc                 C   s   |  }| }| ||dS )Nr4   )r    r!   )r#   r$   r%   r&   r   r   r   r(   J   s    z#GetCdnFileHashesRequest.from_readerNr)   r   r   r   r   r2   1   s   r2   c                   @   sP   e Zd ZdZdZddeeee ee dddZdd	 Z	d
d Z
edd ZdS )GetFileRequestl   5| i(כlNr
   locationr   r   precisecdn_supportedc                 C   s"   || _ || _|| _|| _|| _dS )zQ
        :returns upload.File: Instance of either File, FileCdnRedirect.
        Nr7   )r   r8   r   r   r9   r:   r   r   r   r   U   s
    zGetFileRequest.__init__c                 C   s2   dt | jtr| j n| j| j| j| j| jdS )Nr6   )r   r8   r   r   r9   r:   )
isinstancer8   r   r   r   r   r9   r:   r   r   r   r   r   _   s    zGetFileRequest.to_dictc              
   C   sj   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j td| jtd	| jfS )
Nr   s   5Sz<IFr         r   r   )	r   r   r   r9   r:   r8   r   r   r   r   r   r   r   r   i   s    >zGetFileRequest._bytesc                 C   sJ   |  }t|d@ }t|d@ }| }| }|  }| |||||dS )Nr<   r=   r7   )r"   booltgread_objectr!   )r#   r$   flagsZ_preciseZ_cdn_supported	_locationr&   r'   r   r   r   r(   r   s    zGetFileRequest.from_reader)NN)r*   r+   r,   r-   r.   r0   r   r>   r   r   r   r1   r(   r   r   r   r   r6   Q   s    

	r6   c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )GetFileHashesRequestl   *" r3   r
   r8   r   c                 C   s   || _ || _dS r5   rC   )r   r8   r   r   r   r   r      s    zGetFileHashesRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )NrB   )r   r8   r   )r;   r8   r   r   r   r   r   r   r   r      s    zGetFileHashesRequest.to_dictc                 C   s    d d| j td| jfS )Nr   s   *Vr   )r   r8   r   r   r   r   r   r   r   r   r      s
    zGetFileHashesRequest._bytesc                 C   s   |  }| }| ||dS )NrC   )r?   r!   )r#   r$   rA   r&   r   r   r   r(      s    z GetFileHashesRequest.from_readerNr*   r+   r,   r-   r.   r0   r   r   r   r1   r(   r   r   r   r   rB   ~   s   rB   c                   @   sB   e Zd ZdZdZdeedddZdd Zd	d
 Ze	dd Z
dS )GetWebFileRequesti$iQhr   r8   r   r   c                 C   s   || _ || _|| _dS )z?
        :returns upload.WebFile: Instance of WebFile.
        NrF   )r   r8   r   r   r   r   r   r      s    zGetWebFileRequest.__init__c                 C   s*   dt | jtr| j n| j| j| jdS )NrE   )r   r8   r   r   )r;   r8   r   r   r   r   r   r   r   r   r      s
    zGetWebFileRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )Nr   s   $r   )r   r8   r   r   r   r   r   r   r   r   r   r      s    zGetWebFileRequest._bytesc                 C   s&   |  }| }| }| |||dS )NrF   )r?   r"   )r#   r$   rA   r&   r'   r   r   r   r(      s    zGetWebFileRequest.from_readerNrD   r   r   r   r   rE      s   rE   c                   @   s@   e Zd ZdZdZeedddZdd Zdd	 Ze	d
d Z
dS )ReuploadCdnFileRequestl   TN6 r3   r   request_tokenc                 C   s   || _ || _dS r5   rH   )r   r   rI   r   r   r   r      s    zReuploadCdnFileRequest.__init__c                 C   s   d| j | jdS )NrG   )r   r   rI   rH   r   r   r   r   r      s    zReuploadCdnFileRequest.to_dictc                 C   s    d d| | j| | jfS )Nr   s   T')r   r   r   rI   r   r   r   r   r      s
    

zReuploadCdnFileRequest._bytesc                 C   s   |  }|  }| ||dS )NrH   )r    )r#   r$   r%   Z_request_tokenr   r   r   r(      s    z"ReuploadCdnFileRequest.from_readerN)r*   r+   r,   r-   r.   r/   r   r   r   r1   r(   r   r   r   r   rG      s   rG   c                   @   sD   e Zd ZdZdZeeeedddZdd Zdd	 Z	e
d
d ZdS )SaveBigFilePartRequestl   =g<    gk file_id	file_partfile_total_partsr/   c                 C   s   || _ || _|| _|| _dS z?
        :returns Bool: This type has no constructors.
        NrL   )r   rM   rN   rO   r/   r   r   r   r      s    zSaveBigFilePartRequest.__init__c                 C   s   d| j | j| j| jdS )NrJ   )r   rM   rN   rO   r/   rL   r   r   r   r   r      s    zSaveBigFilePartRequest.to_dictc              	   C   s:   d dtd| jtd| jtd| j| | jfS )Nr   s   =g{r   r   )r   r   r   rM   rN   rO   r   r/   r   r   r   r   r      s    
zSaveBigFilePartRequest._bytesc                 C   s0   |  }| }| }| }| ||||dS )NrL   r!   r"   r    )r#   r$   _file_id
_file_partZ_file_total_partsr   r   r   r   r(     s
    z"SaveBigFilePartRequest.from_readerNr*   r+   r,   r-   r.   r0   r/   r   r   r   r1   r(   r   r   r   r   rJ      s   			rJ   c                   @   sB   e Zd ZdZdZeeedddZdd Zdd	 Z	e
d
d ZdS )SaveFilePartRequestl   !&	f rK   rM   rN   r/   c                 C   s   || _ || _|| _dS rP   rV   )r   rM   rN   r/   r   r   r   r     s    zSaveFilePartRequest.__init__c                 C   s   d| j | j| jdS )NrU   )r   rM   rN   r/   rV   r   r   r   r   r     s
    zSaveFilePartRequest.to_dictc                 C   s.   d dtd| jtd| j| | jfS )Nr   s   !r   r   )r   r   r   rM   rN   r   r/   r   r   r   r   r     s    
zSaveFilePartRequest._bytesc                 C   s&   |  }| }| }| |||dS )NrV   rQ   )r#   r$   rR   rS   r   r   r   r   r(   &  s    zSaveFilePartRequest.from_readerNrT   r   r   r   r   rU   
  s   rU   )__doc__Ztl.tlobjectr   r   typingr   r   r   r   osr   r	   Ztl.typesr
   r   r   r2   r6   rB   rE   rG   rJ   rU   r   r   r   r   <module>   s    $ - $ (