3
uQh$                 @   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.
        N)r   r   r   )selfr   r   r    r   @/tmp/pip-build-2nz6shyl/telethon/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   r   r   to_dict   s    zGetCdnFileRequest.to_dictc             C   s.   dj d| j| jtjd| jtjd| jfS )N    s   i_9z<qz<i)joinserialize_bytesr   structpackr   r   )r   r   r   r   _bytes!   s
    
zGetCdnFileRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r   r   r   )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?# l   &(K )r   r   c             C   s   || _ || _dS )zK
        :returns Vector<FileHash>: This type has no constructors.
        N)r   r   )r   r   r   r   r   r   r   5   s    z GetCdnFileHashesRequest.__init__c             C   s   d| j | jdS )Nr-   )r   r   r   )r   r   )r   r   r   r   r   <   s    zGetCdnFileHashesRequest.to_dictc             C   s"   dj d| j| jtjd| jfS )Nr   s   1?ܑz<q)r   r   r   r   r   r   )r   r   r   r   r   C   s    
zGetCdnFileHashesRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r   r   )r   r    r!   r"   r   r   r   r$   J   s    z#GetCdnFileHashesRequest.from_readerN)r%   r&   r'   r(   r)   r*   r+   r   r   r   r,   r$   r   r   r   r   r-   1   s   r-   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.
        N)r/   r   r   r0   r1   )r   r/   r   r   r0   r1   r   r   r   r   U   s
    zGetFileRequest.__init__c             C   s2   dt | jtr| jj n| j| j| j| j| jdS )Nr.   )r   r/   r   r   r0   r1   )
isinstancer/   r   r   r   r   r0   r1   )r   r   r   r   r   _   s    zGetFileRequest.to_dictc             C   sj   dj dtj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j tjd| jtjd	| jfS )
Nr   s   5Sz<IFr         z<qz<i)	r   r   r   r0   r1   r/   r   r   r   )r   r   r   r   r   i   s    >zGetFileRequest._bytesc             C   sJ   |j  }t|d@ }t|d@ }|j }|j }|j  }| |||||dS )Nr3   r4   )r/   r   r   r0   r1   )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)   r+   r   r5   r   r   r   r,   r$   r   r   r   r   r.   Q   s    

	r.   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   *" l   &(K r
   )r/   r   c             C   s   || _ || _dS )zK
        :returns Vector<FileHash>: This type has no constructors.
        N)r/   r   )r   r/   r   r   r   r   r      s    zGetFileHashesRequest.__init__c             C   s&   dt | jtr| jj n| j| jdS )Nr9   )r   r/   r   )r2   r/   r   r   r   )r   r   r   r   r      s    zGetFileHashesRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr   s   *Vz<q)r   r/   r   r   r   r   )r   r   r   r   r      s    zGetFileHashesRequest._bytesc             C   s   |j  }|j }| ||dS )N)r/   r   )r6   r   )r   r    r8   r"   r   r   r   r$      s    z GetFileHashesRequest.from_readerN)r%   r&   r'   r(   r)   r+   r   r   r   r,   r$   r   r   r   r   r9   ~   s   r9   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   )r/   r   r   c             C   s   || _ || _|| _dS )z?
        :returns upload.WebFile: Instance of WebFile.
        N)r/   r   r   )r   r/   r   r   r   r   r   r      s    zGetWebFileRequest.__init__c             C   s*   dt | jtr| jj n| j| j| jdS )Nr:   )r   r/   r   r   )r2   r/   r   r   r   r   )r   r   r   r   r      s    zGetWebFileRequest.to_dictc             C   s,   dj d| jj tjd| jtjd| jfS )Nr   s   $z<i)r   r/   r   r   r   r   r   )r   r   r   r   r      s
    zGetWebFileRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r/   r   r   )r6   r   )r   r    r8   r"   r#   r   r   r   r$      s    zGetWebFileRequest.from_readerN)r%   r&   r'   r(   r)   r+   r   r   r   r,   r$   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 )ReuploadCdnFileRequestl   TN6 l   &(K )r   request_tokenc             C   s   || _ || _dS )zK
        :returns Vector<FileHash>: This type has no constructors.
        N)r   r<   )r   r   r<   r   r   r   r      s    zReuploadCdnFileRequest.__init__c             C   s   d| j | jdS )Nr;   )r   r   r<   )r   r<   )r   r   r   r   r      s    zReuploadCdnFileRequest.to_dictc             C   s    dj d| j| j| j| jfS )Nr   s   T')r   r   r   r<   )r   r   r   r   r      s    
zReuploadCdnFileRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r   r<   )r   )r   r    r!   Z_request_tokenr   r   r   r$      s    z"ReuploadCdnFileRequest.from_readerN)r%   r&   r'   r(   r)   r*   r   r   r   r,   r$   r   r   r   r   r;      s   r;   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< l   gk )file_id	file_partfile_total_partsr*   c             C   s   || _ || _|| _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r>   r?   r@   r*   )r   r>   r?   r@   r*   r   r   r   r      s    zSaveBigFilePartRequest.__init__c             C   s   d| j | j| j| jdS )Nr=   )r   r>   r?   r@   r*   )r>   r?   r@   r*   )r   r   r   r   r      s
    zSaveBigFilePartRequest.to_dictc             C   s:   dj dtjd| jtjd| jtjd| j| j| jfS )Nr   s   =g{z<qz<i)r   r   r   r>   r?   r@   r   r*   )r   r   r   r   r      s    zSaveBigFilePartRequest._bytesc             C   s0   |j  }|j }|j }|j }| ||||dS )N)r>   r?   r@   r*   )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)   r+   r*   r   r   r   r,   r$   r   r   r   r   r=      s   			r=   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 l   gk )r>   r?   r*   c             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r>   r?   r*   )r   r>   r?   r*   r   r   r   r     s    zSaveFilePartRequest.__init__c             C   s   d| j | j| jdS )NrC   )r   r>   r?   r*   )r>   r?   r*   )r   r   r   r   r     s    zSaveFilePartRequest.to_dictc             C   s.   dj dtjd| jtjd| j| j| jfS )Nr   s   !z<qz<i)r   r   r   r>   r?   r   r*   )r   r   r   r   r     s
    zSaveFilePartRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r>   r?   r*   )r   r   r   )r   r    rA   rB   r   r   r   r   r$   &  s    zSaveFilePartRequest.from_readerN)r%   r&   r'   r(   r)   r+   r*   r   r   r   r,   r$   r   r   r   r   rC   
  s   rC   )__doc__Ztl.tlobjectr   r   typingr   r   r   r   osr   r	   Ztl.typesr
   r   r   r-   r.   r9   r:   r;   r=   rC   r   r   r   r   <module>   s    $ - $ (