From f2b6a2ee8f01cf7cda5e3f892863e05e4e464ec8 Mon Sep 17 00:00:00 2001 From: mctaylors Date: Sun, 18 May 2025 10:30:53 +0300 Subject: [PATCH 1/8] chore: make return None statement explicit in format_rating Signed-off-by: mctaylors --- extensions.py | 1 + 1 file changed, 1 insertion(+) diff --git a/extensions.py b/extensions.py index 1ffcc22..edc3571 100644 --- a/extensions.py +++ b/extensions.py @@ -28,3 +28,4 @@ def format_rating(value: str) -> str | None: case "e": # Negative Squared Latin Capital Letter E return "🅴" + return None From 84a897868d95f00d4f34c84dbfd2fd92015c761e Mon Sep 17 00:00:00 2001 From: mctaylors Date: Sun, 18 May 2025 11:08:09 +0300 Subject: [PATCH 2/8] feat: use LinkPreviewOptions in answer_query Signed-off-by: mctaylors --- inline_query.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/inline_query.py b/inline_query.py index 3e625a1..fa2e71a 100644 --- a/inline_query.py +++ b/inline_query.py @@ -1,7 +1,7 @@ from uuid import uuid4 from telegram import Update, InlineKeyboardButton, InlineQueryResultArticle, InputTextMessageContent, \ - InlineKeyboardMarkup + InlineKeyboardMarkup, LinkPreviewOptions from telegram.constants import ParseMode from telegram.ext import ContextTypes @@ -70,9 +70,9 @@ async def answer_query(update: Update, query: str, data) -> None: thumbnail_url=data['preview_file_url'], input_message_content=InputTextMessageContent( f"ID: {query} {rating}\n" - f"{characters} ({copyrights}) " - f"drawn by {artists}", - parse_mode=ParseMode.HTML + f"{characters} ({copyrights}) drawn by {artists}", + parse_mode=ParseMode.HTML, + link_preview_options=LinkPreviewOptions(url=data['large_file_url']) ), reply_markup=InlineKeyboardMarkup(keyboard) ) From e92f0178126908807d5c1463d07b7534552e5565 Mon Sep 17 00:00:00 2001 From: mctaylors Date: Sun, 18 May 2025 11:26:51 +0300 Subject: [PATCH 3/8] change: make inline query answer more compact Signed-off-by: mctaylors --- inline_query.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/inline_query.py b/inline_query.py index fa2e71a..a3f19c4 100644 --- a/inline_query.py +++ b/inline_query.py @@ -43,8 +43,7 @@ async def answer_query(update: Update, query: str, data) -> None: title=f"ID: {query}", description=f"{characters} ({copyrights}) drawn by {artists}", input_message_content=InputTextMessageContent( - f"ID: {query} {rating}\n" - f"{characters} ({copyrights}) drawn by {artists}\n" + f"#{query} {characters} ({copyrights}) drawn by {artists} {rating}\n" f"This post has been removed because of a takedown request or rule violation.", parse_mode=ParseMode.HTML ) @@ -69,8 +68,7 @@ async def answer_query(update: Update, query: str, data) -> None: description=f"{characters} ({copyrights}) drawn by {artists}", thumbnail_url=data['preview_file_url'], input_message_content=InputTextMessageContent( - f"ID: {query} {rating}\n" - f"{characters} ({copyrights}) drawn by {artists}", + f"#{query} {characters} ({copyrights}) drawn by {artists} {rating}", parse_mode=ParseMode.HTML, link_preview_options=LinkPreviewOptions(url=data['large_file_url']) ), @@ -88,7 +86,7 @@ async def invalid_query(update: Update, query: str) -> None: title=f"ID: {query}", description="Error", input_message_content=InputTextMessageContent( - f"ID: {query}\n" + f"#{query}\n" f"That record was not found.", parse_mode=ParseMode.HTML ) From b892a3a201e53f9e7b39904d5399a709deb14590 Mon Sep 17 00:00:00 2001 From: mctaylors Date: Sun, 18 May 2025 11:41:39 +0300 Subject: [PATCH 4/8] refactor: completely rewrite humanize_tags_from_json Signed-off-by: mctaylors --- extensions.py | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/extensions.py b/extensions.py index edc3571..49b2d1a 100644 --- a/extensions.py +++ b/extensions.py @@ -3,14 +3,7 @@ import re def humanize_tags_from_json(value: str, default: str) -> str: if value != "": - output = str() - tags = value.split() - - for t in tags: - output += f"{re.sub('_\\(.*', '', t)}, " - output = output[:-2] - - return output + return ", ".join([re.sub('_\\(.*', '', t) for t in value.split()]) return default From 1ce708a40b105862ea1f35390510c7c8e8719d69 Mon Sep 17 00:00:00 2001 From: mctaylors Date: Sun, 18 May 2025 10:30:53 +0300 Subject: [PATCH 5/8] change: make return None statement explicit in format_rating Signed-off-by: mctaylors --- extensions.py | 1 + 1 file changed, 1 insertion(+) diff --git a/extensions.py b/extensions.py index 1ffcc22..edc3571 100644 --- a/extensions.py +++ b/extensions.py @@ -28,3 +28,4 @@ def format_rating(value: str) -> str | None: case "e": # Negative Squared Latin Capital Letter E return "🅴" + return None From 735bfdb406103d199dcb319ea4fc5e4522ffe720 Mon Sep 17 00:00:00 2001 From: mctaylors Date: Sun, 18 May 2025 11:08:09 +0300 Subject: [PATCH 6/8] feat: use LinkPreviewOptions in answer_query Signed-off-by: mctaylors --- inline_query.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/inline_query.py b/inline_query.py index 3e625a1..fa2e71a 100644 --- a/inline_query.py +++ b/inline_query.py @@ -1,7 +1,7 @@ from uuid import uuid4 from telegram import Update, InlineKeyboardButton, InlineQueryResultArticle, InputTextMessageContent, \ - InlineKeyboardMarkup + InlineKeyboardMarkup, LinkPreviewOptions from telegram.constants import ParseMode from telegram.ext import ContextTypes @@ -70,9 +70,9 @@ async def answer_query(update: Update, query: str, data) -> None: thumbnail_url=data['preview_file_url'], input_message_content=InputTextMessageContent( f"ID: {query} {rating}\n" - f"{characters} ({copyrights}) " - f"drawn by {artists}", - parse_mode=ParseMode.HTML + f"{characters} ({copyrights}) drawn by {artists}", + parse_mode=ParseMode.HTML, + link_preview_options=LinkPreviewOptions(url=data['large_file_url']) ), reply_markup=InlineKeyboardMarkup(keyboard) ) From e59ff67176d1a2de6bf613935853c8eb52a8dc37 Mon Sep 17 00:00:00 2001 From: mctaylors Date: Sun, 18 May 2025 11:26:51 +0300 Subject: [PATCH 7/8] change: make inline query answer more compact Signed-off-by: mctaylors --- inline_query.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/inline_query.py b/inline_query.py index fa2e71a..a3f19c4 100644 --- a/inline_query.py +++ b/inline_query.py @@ -43,8 +43,7 @@ async def answer_query(update: Update, query: str, data) -> None: title=f"ID: {query}", description=f"{characters} ({copyrights}) drawn by {artists}", input_message_content=InputTextMessageContent( - f"ID: {query} {rating}\n" - f"{characters} ({copyrights}) drawn by {artists}\n" + f"#{query} {characters} ({copyrights}) drawn by {artists} {rating}\n" f"This post has been removed because of a takedown request or rule violation.", parse_mode=ParseMode.HTML ) @@ -69,8 +68,7 @@ async def answer_query(update: Update, query: str, data) -> None: description=f"{characters} ({copyrights}) drawn by {artists}", thumbnail_url=data['preview_file_url'], input_message_content=InputTextMessageContent( - f"ID: {query} {rating}\n" - f"{characters} ({copyrights}) drawn by {artists}", + f"#{query} {characters} ({copyrights}) drawn by {artists} {rating}", parse_mode=ParseMode.HTML, link_preview_options=LinkPreviewOptions(url=data['large_file_url']) ), @@ -88,7 +86,7 @@ async def invalid_query(update: Update, query: str) -> None: title=f"ID: {query}", description="Error", input_message_content=InputTextMessageContent( - f"ID: {query}\n" + f"#{query}\n" f"That record was not found.", parse_mode=ParseMode.HTML ) From 4adfcd316fbfbe0dcd26baa72a45d84dd59b6c73 Mon Sep 17 00:00:00 2001 From: mctaylors Date: Sun, 18 May 2025 11:41:39 +0300 Subject: [PATCH 8/8] refactor: completely rewrite humanize_tags_from_json Signed-off-by: mctaylors --- extensions.py | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/extensions.py b/extensions.py index edc3571..49b2d1a 100644 --- a/extensions.py +++ b/extensions.py @@ -3,14 +3,7 @@ import re def humanize_tags_from_json(value: str, default: str) -> str: if value != "": - output = str() - tags = value.split() - - for t in tags: - output += f"{re.sub('_\\(.*', '', t)}, " - output = output[:-2] - - return output + return ", ".join([re.sub('_\\(.*', '', t) for t in value.split()]) return default