From 99463e8cb8e5068280425425b1ed1f34115e3659 Mon Sep 17 00:00:00 2001 From: palaptin <> Date: Sat, 31 Aug 2024 16:00:05 +0200 Subject: [PATCH 1/2] Fixed obsolete documentation. Removed warnings of the thumbnail_url parameters, regarding the deprecated parameter thumb, as well as the optional annotation in the docs. Instead, added 'versionchanged' everywhere pointing to 20.5, the version where the thumb parameter was removed. Added a new substitutions ('thumbnail_url_mandatory') to global.rst, used in all these 'versionchanged'. Also removed the now obsolete 'Raises' paragraphs from all classes. For file inlinequeryresultvideo.py it was also necessary to remove the optional annotation as well as the warning from title parameter. this parameter had to be made optional earlier, to be able to made thumb_url/thumbnail_url optional. Also had a look at the other inlinequeryresult* files, but there seems everything to be all right. --- docs/substitutions/global.rst | 4 +++- telegram/_inline/inlinequeryresultgif.py | 16 +++++--------- telegram/_inline/inlinequeryresultmpeg4gif.py | 15 +++++-------- telegram/_inline/inlinequeryresultphoto.py | 16 +++++--------- telegram/_inline/inlinequeryresultvideo.py | 21 ++++--------------- 5 files changed, 22 insertions(+), 50 deletions(-) diff --git a/docs/substitutions/global.rst b/docs/substitutions/global.rst index c4e9e493bb3..a27c99e96b8 100644 --- a/docs/substitutions/global.rst +++ b/docs/substitutions/global.rst @@ -60,10 +60,12 @@ .. |removed_thumb_note| replace:: Removed the deprecated argument and attribute ``thumb``. -.. |removed_thumb_url_note| replace:: Removed the deprecated argument and attribute ``thumb_url``. +.. |removed_thumb_url_note| replace:: Removed the deprecated argument and attribute ``thumb_url`` which made thumbnail_url mandatory. .. |removed_thumb_wildcard_note| replace:: Removed the deprecated arguments and attributes ``thumb_*``. +.. |thumbnail_url_mandatory| replace:: Removal of the deprecated argument ``thumb_url`` made thumbnail_url mandatory. + .. |async_context_manager| replace:: Asynchronous context manager which .. |reply_parameters| replace:: Description of the message to reply to. diff --git a/telegram/_inline/inlinequeryresultgif.py b/telegram/_inline/inlinequeryresultgif.py index 13e1f253b99..e5694e4f856 100644 --- a/telegram/_inline/inlinequeryresultgif.py +++ b/telegram/_inline/inlinequeryresultgif.py @@ -50,16 +50,14 @@ class InlineQueryResultGif(InlineQueryResult): gif_width (:obj:`int`, optional): Width of the GIF. gif_height (:obj:`int`, optional): Height of the GIF. gif_duration (:obj:`int`, optional): Duration of the GIF in seconds. - thumbnail_url (:obj:`str`, optional): URL of the static (JPEG or GIF) or animated (MPEG4) + thumbnail_url (:obj:`str`): URL of the static (JPEG or GIF) or animated (MPEG4) thumbnail for the result. - Warning: - The Bot API does **not** define this as an optional argument. It is formally - optional for backwards compatibility with the deprecated :paramref:`thumb_url`. - If you pass neither :paramref:`thumbnail_url` nor :paramref:`thumb_url`, - :class:`ValueError` will be raised. - .. versionadded:: 20.2 + + ..versionchanged:: 20.5 + |thumbnail_url_mandatory| + thumbnail_mime_type (:obj:`str`, optional): MIME type of the thumbnail, must be one of ``'image/jpeg'``, ``'image/gif'``, or ``'video/mp4'``. Defaults to ``'image/jpeg'``. @@ -82,10 +80,6 @@ class InlineQueryResultGif(InlineQueryResult): .. versionadded:: 21.3 - Raises: - :class:`ValueError`: If neither :paramref:`thumbnail_url` nor :paramref:`thumb_url` is - supplied or if both are supplied and are not equal. - Attributes: type (:obj:`str`): :tg-const:`telegram.constants.InlineQueryResultType.GIF`. id (:obj:`str`): Unique identifier for this result, diff --git a/telegram/_inline/inlinequeryresultmpeg4gif.py b/telegram/_inline/inlinequeryresultmpeg4gif.py index 1fff848418d..9e27ab949df 100644 --- a/telegram/_inline/inlinequeryresultmpeg4gif.py +++ b/telegram/_inline/inlinequeryresultmpeg4gif.py @@ -51,16 +51,14 @@ class InlineQueryResultMpeg4Gif(InlineQueryResult): mpeg4_width (:obj:`int`, optional): Video width. mpeg4_height (:obj:`int`, optional): Video height. mpeg4_duration (:obj:`int`, optional): Video duration in seconds. - thumbnail_url (:obj:`str`, optional): URL of the static (JPEG or GIF) or animated (MPEG4) + thumbnail_url (:obj:`str`): URL of the static (JPEG or GIF) or animated (MPEG4) thumbnail for the result. - Warning: - The Bot API does **not** define this as an optional argument. It is formally - optional for backwards compatibility with the deprecated :paramref:`thumb_url`. - If you pass neither :paramref:`thumbnail_url` nor :paramref:`thumb_url`, - :class:`ValueError` will be raised. - .. versionadded:: 20.2 + + ..versionchanged:: 20.5 + |thumbnail_url_mandatory| + thumbnail_mime_type (:obj:`str`, optional): MIME type of the thumbnail, must be one of ``'image/jpeg'``, ``'image/gif'``, or ``'video/mp4'``. Defaults to ``'image/jpeg'``. @@ -83,9 +81,6 @@ class InlineQueryResultMpeg4Gif(InlineQueryResult): show_caption_above_media (:obj:`bool`, optional): Pass |show_cap_above_med| .. versionadded:: 21.3 - Raises: - :class:`ValueError`: If neither :paramref:`thumbnail_url` nor :paramref:`thumb_url` is - supplied or if both are supplied and are not equal. Attributes: type (:obj:`str`): :tg-const:`telegram.constants.InlineQueryResultType.MPEG4GIF`. diff --git a/telegram/_inline/inlinequeryresultphoto.py b/telegram/_inline/inlinequeryresultphoto.py index 637e952d4d0..b74adf218e3 100644 --- a/telegram/_inline/inlinequeryresultphoto.py +++ b/telegram/_inline/inlinequeryresultphoto.py @@ -48,15 +48,13 @@ class InlineQueryResultPhoto(InlineQueryResult): :tg-const:`telegram.InlineQueryResult.MAX_ID_LENGTH` Bytes. photo_url (:obj:`str`): A valid URL of the photo. Photo must be in JPEG format. Photo size must not exceed 5MB. - thumbnail_url (:obj:`str`, optional): URL of the thumbnail for the photo. - - Warning: - The Bot API does **not** define this as an optional argument. It is formally - optional for backwards compatibility with the deprecated :paramref:`thumb_url`. - If you pass neither :paramref:`thumbnail_url` nor :paramref:`thumb_url`, - :class:`ValueError` will be raised. + thumbnail_url (:obj:`str`): URL of the thumbnail for the photo. .. versionadded:: 20.2 + + ..versionchanged:: 20.5 + |thumbnail_url_mandatory| + photo_width (:obj:`int`, optional): Width of the photo. photo_height (:obj:`int`, optional): Height of the photo. title (:obj:`str`, optional): Title for the result. @@ -78,10 +76,6 @@ class InlineQueryResultPhoto(InlineQueryResult): .. versionadded:: 21.3 - Raises: - :class:`ValueError`: If neither :paramref:`thumbnail_url` nor :paramref:`thumb_url` is - supplied or if both are supplied and are not equal. - Attributes: type (:obj:`str`): :tg-const:`telegram.constants.InlineQueryResultType.PHOTO`. id (:obj:`str`): Unique identifier for this result, diff --git a/telegram/_inline/inlinequeryresultvideo.py b/telegram/_inline/inlinequeryresultvideo.py index 90bf4c86d3d..bb01c1ac1bd 100644 --- a/telegram/_inline/inlinequeryresultvideo.py +++ b/telegram/_inline/inlinequeryresultvideo.py @@ -55,20 +55,12 @@ class InlineQueryResultVideo(InlineQueryResult): mime_type (:obj:`str`): Mime type of the content of video url, "text/html" or "video/mp4". thumbnail_url (:obj:`str`, optional): URL of the thumbnail (JPEG only) for the video. - Warning: - The Bot API does **not** define this as an optional argument. It is formally - optional for backwards compatibility with the deprecated :paramref:`thumb_url`. - If you pass neither :paramref:`thumbnail_url` nor :paramref:`thumb_url`, - :class:`ValueError` will be raised. - .. versionadded:: 20.2 - title (:obj:`str`, optional): Title for the result. - Warning: - The Bot API does **not** define this as an optional argument. It is formally - optional to ensure backwards compatibility of :paramref:`thumbnail_url` with the - deprecated :paramref:`thumb_url`, which required that :paramref:`thumbnail_url` - become optional. :class:`TypeError` will be raised if no ``title`` is passed. + ..versionchanged:: 20.5 + |thumbnail_url_mandatory| + + title (:obj:`str`): Title for the result. caption (:obj:`str`, optional): Caption of the video to be sent, 0-:tg-const:`telegram.constants.MessageLimit.CAPTION_LENGTH` characters after entities parsing. @@ -92,11 +84,6 @@ class InlineQueryResultVideo(InlineQueryResult): .. versionadded:: 21.3 - Raises: - :class:`ValueError`: If neither :paramref:`thumbnail_url` nor :paramref:`thumb_url` is - supplied or if both are supplied and are not equal. - :class:`TypeError`: If no :paramref:`title` is passed. - Attributes: type (:obj:`str`): :tg-const:`telegram.constants.InlineQueryResultType.VIDEO`. id (:obj:`str`): Unique identifier for this result, From 32be3411a0e7990fcd47d5c7a851716955e2d06f Mon Sep 17 00:00:00 2001 From: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com> Date: Sun, 1 Sep 2024 10:00:18 +0200 Subject: [PATCH 2/2] Update docs/substitutions/global.rst --- docs/substitutions/global.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/substitutions/global.rst b/docs/substitutions/global.rst index a27c99e96b8..88a604cd139 100644 --- a/docs/substitutions/global.rst +++ b/docs/substitutions/global.rst @@ -64,7 +64,7 @@ .. |removed_thumb_wildcard_note| replace:: Removed the deprecated arguments and attributes ``thumb_*``. -.. |thumbnail_url_mandatory| replace:: Removal of the deprecated argument ``thumb_url`` made thumbnail_url mandatory. +.. |thumbnail_url_mandatory| replace:: Removal of the deprecated argument ``thumb_url`` made ``thumbnail_url`` mandatory. .. |async_context_manager| replace:: Asynchronous context manager which