U
    g:                     @   sH   d Z ddlmZ ddlmZ ddlmZ ddlmZ G dd deZ	dS )	z@This module contains an object that represents a Telegram Video.    )Optional)_BaseThumbedMedium)	PhotoSize)JSONDictc                       sX   e Zd ZdZdZdddeeeeeee ee ee ee ee	 d
 fddZ
  ZS )	Videoa  This object represents a video file.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`file_unique_id` is equal.

    .. versionchanged:: 20.5
      |removed_thumb_note|

    Args:
        file_id (:obj:`str`): Identifier for this file, which can be used to download
            or reuse the file.
        file_unique_id (:obj:`str`): Unique identifier for this file, which
            is supposed to be the same over time and for different bots.
            Can't be used to download or reuse the file.
        width (:obj:`int`): Video width as defined by the sender.
        height (:obj:`int`): Video height as defined by the sender.
        duration (:obj:`int`): Duration of the video in seconds as defined by the sender.
        file_name (:obj:`str`, optional): Original filename as defined by the sender.
        mime_type (:obj:`str`, optional): MIME type of a file as defined by the sender.
        file_size (:obj:`int`, optional): File size in bytes.
        thumbnail (:class:`telegram.PhotoSize`, optional): Video thumbnail.

            .. versionadded:: 20.2

    Attributes:
        file_id (:obj:`str`): Identifier for this file, which can be used to download
            or reuse the file.
        file_unique_id (:obj:`str`): Unique identifier for this file, which
            is supposed to be the same over time and for different bots.
            Can't be used to download or reuse the file.
        width (:obj:`int`): Video width as defined by the sender.
        height (:obj:`int`): Video height as defined by the sender.
        duration (:obj:`int`): Duration of the video in seconds as defined by the sender.
        file_name (:obj:`str`): Optional. Original filename as defined by the sender.
        mime_type (:obj:`str`): Optional. MIME type of a file as defined by the sender.
        file_size (:obj:`int`): Optional. File size in bytes.
        thumbnail (:class:`telegram.PhotoSize`): Optional. Video thumbnail.

            .. versionadded:: 20.2
    )duration	file_nameheight	mime_typewidthN)
api_kwargs)
file_idfile_unique_idr   r	   r   r
   	file_sizer   	thumbnailr   c
             	      sL   t  j||||	|
d |  $ || _|| _|| _|| _|| _W 5 Q R X d S )N)r   r   r   r   r   )super__init__Z	_unfrozenr   r	   r   r
   r   )selfr   r   r   r	   r   r
   r   r   r   r   	__class__ 9/tmp/pip-unpacked-wheel-swnnwir2/telegram/_files/video.pyr   G   s    
zVideo.__init__)NNNN)__name__
__module____qualname____doc__	__slots__strintr   r   r   r   __classcell__r   r   r   r   r      s(   )	    r   N)
r   typingr   Z"telegram._files._basethumbedmediumr   Ztelegram._files.photosizer   Ztelegram._utils.typesr   r   r   r   r   r   <module>   s
   