o
    f>h                     @   sx   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 ddl
mZmZ ddlmZ er2ddlmZ G d	d
 d
eZdS )z@This module contains an object that represents a Telegram Video.    )Sequence)TYPE_CHECKINGOptional)_BaseThumbedMedium)	PhotoSize)de_list_optionalparse_sequence_arg)JSONDict)Botc                       s   e Zd ZdZdZ						ddddedededed	ed
ee dee dee dee dee	e  dee dee
 f fddZedde
ded dd f 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
        cover (Sequence[:class:`telegram.PhotoSize`], optional): Available sizes of the cover of
            the video in the message.

            .. versionadded:: 21.11
        start_timestamp (:obj:`int`, optional): Timestamp in seconds from which the video
            will play in the message
            .. versionadded:: 21.11

    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
        cover (tuple[:class:`telegram.PhotoSize`]): Optional, Available sizes of the cover of
            the video in the message.

            .. versionadded:: 21.11
        start_timestamp (:obj:`int`): Optional, Timestamp in seconds from which the video
            will play in the message
            .. versionadded:: 21.11
    )coverduration	file_nameheight	mime_typestart_timestampwidthN)
api_kwargsfile_idfile_unique_idr   r   r   r   	file_sizer   	thumbnailr   r   r   c                   sr   t  j||||	|d |    || _|| _|| _|| _|| _t|
| _	|| _
W d    d S 1 s2w   Y  d S )N)r   r   r   r   r   )super__init__	_unfrozenr   r   r   r   r   r   r   r   )selfr   r   r   r   r   r   r   r   r   r   r   r   	__class__ H/var/www/html/venv/lib/python3.10/site-packages/telegram/_files/video.pyr   b   s    

"zVideo.__init__databotr
   returnc                    s0   |  |}t|dt||d< t j||dS )z,See :meth:`telegram.TelegramObject.de_json`.r   )r    r!   )_parse_datar   getr   r   de_json)clsr    r!   r   r   r   r%      s   
zVideo.de_json)NNNNNN)N)__name__
__module____qualname____doc__	__slots__strintr   r   r   r	   r   classmethodr%   __classcell__r   r   r   r   r       sL    7	

"*r   N)r*   collections.abcr   typingr   r   "telegram._files._basethumbedmediumr   telegram._files.photosizer   telegram._utils.argumentparsingr   r   telegram._utils.typesr	   telegramr
   r   r   r   r   r   <module>   s   