mirror of
https://github.com/python-telegram-bot/python-telegram-bot.git
synced 2024-11-28 19:22:54 +01:00
Recover 100% Type Completeness (#3676)
This commit is contained in:
parent
8c252c9822
commit
66b6d3c497
5 changed files with 20 additions and 19 deletions
18
.github/workflows/type_completeness.yml
vendored
18
.github/workflows/type_completeness.yml
vendored
|
@ -49,21 +49,21 @@ jobs:
|
||||||
pr = float(
|
pr = float(
|
||||||
json.load(open("pr.json", "rb"))["typeCompleteness"]["completenessScore"]
|
json.load(open("pr.json", "rb"))["typeCompleteness"]["completenessScore"]
|
||||||
)
|
)
|
||||||
base_text = f"After this PR, type completeness will be {round(pr, 3)}."
|
base_text = f"This PR changes type completeness from {round(base, 3)} to {round(pr, 3)}."
|
||||||
if pr < (base - 0.1):
|
if pr < (base - 0.001):
|
||||||
text = f"This PR decreases type completeness by {round(base - pr, 3)}. ❌"
|
text = f"{base_text} ❌"
|
||||||
set_summary(text)
|
set_summary(text)
|
||||||
print(Path("pr.readable").read_text(encoding="utf-8"))
|
print(Path("pr.readable").read_text(encoding="utf-8"))
|
||||||
error(f"{text}\n{base_text}")
|
error(text)
|
||||||
exit(1)
|
exit(1)
|
||||||
elif pr > (base + 0.1):
|
elif pr > (base + 0.001):
|
||||||
text = f"This PR increases type completeness by {round(pr - base, 3)}. ✨"
|
text = f"{base_text} ✨"
|
||||||
set_summary(text)
|
set_summary(text)
|
||||||
if pr < 1:
|
if pr < 1:
|
||||||
print(Path("pr.readable").read_text(encoding="utf-8"))
|
print(Path("pr.readable").read_text(encoding="utf-8"))
|
||||||
print(f"{text}\n{base_text}")
|
print(text)
|
||||||
else:
|
else:
|
||||||
text = f"This PR does not change type completeness by more than 0.1. ✅"
|
text = f"{base_text} This is less than 0.1 percentage points. ✅"
|
||||||
set_summary(text)
|
set_summary(text)
|
||||||
print(Path("pr.readable").read_text(encoding="utf-8"))
|
print(Path("pr.readable").read_text(encoding="utf-8"))
|
||||||
print(f"{text}\n{base_text}")
|
print(text)
|
||||||
|
|
|
@ -244,7 +244,7 @@ class Bot(TelegramObject, AsyncContextManager["Bot"]):
|
||||||
self._local_mode: bool = local_mode
|
self._local_mode: bool = local_mode
|
||||||
self._bot_user: Optional[User] = None
|
self._bot_user: Optional[User] = None
|
||||||
self._private_key: Optional[bytes] = None
|
self._private_key: Optional[bytes] = None
|
||||||
self._initialized = False
|
self._initialized: bool = False
|
||||||
|
|
||||||
self._request: Tuple[BaseRequest, BaseRequest] = (
|
self._request: Tuple[BaseRequest, BaseRequest] = (
|
||||||
HTTPXRequest() if get_updates_request is None else get_updates_request,
|
HTTPXRequest() if get_updates_request is None else get_updates_request,
|
||||||
|
@ -375,7 +375,7 @@ class Bot(TelegramObject, AsyncContextManager["Bot"]):
|
||||||
# consider adding Paramspec from typing_extensions to properly fix this. Currently a workaround
|
# consider adding Paramspec from typing_extensions to properly fix this. Currently a workaround
|
||||||
def _log(func: Any): # type: ignore[no-untyped-def] # skipcq: PY-D0003
|
def _log(func: Any): # type: ignore[no-untyped-def] # skipcq: PY-D0003
|
||||||
@functools.wraps(func)
|
@functools.wraps(func)
|
||||||
async def decorator(self, *args, **kwargs): # type: ignore[no-untyped-def]
|
async def decorator(self: "Bot", *args: Any, **kwargs: Any) -> Any:
|
||||||
# pylint: disable=protected-access
|
# pylint: disable=protected-access
|
||||||
self._LOGGER.debug("Entering: %s", func.__name__)
|
self._LOGGER.debug("Entering: %s", func.__name__)
|
||||||
result = await func(self, *args, **kwargs) # skipcq: PYL-E1102
|
result = await func(self, *args, **kwargs) # skipcq: PYL-E1102
|
||||||
|
|
|
@ -41,7 +41,7 @@ class BotDescription(TelegramObject):
|
||||||
|
|
||||||
def __init__(self, description: str, *, api_kwargs: JSONDict = None):
|
def __init__(self, description: str, *, api_kwargs: JSONDict = None):
|
||||||
super().__init__(api_kwargs=api_kwargs)
|
super().__init__(api_kwargs=api_kwargs)
|
||||||
self.description = description
|
self.description: str = description
|
||||||
|
|
||||||
self._id_attrs = (self.description,)
|
self._id_attrs = (self.description,)
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ class BotShortDescription(TelegramObject):
|
||||||
|
|
||||||
def __init__(self, short_description: str, *, api_kwargs: JSONDict = None):
|
def __init__(self, short_description: str, *, api_kwargs: JSONDict = None):
|
||||||
super().__init__(api_kwargs=api_kwargs)
|
super().__init__(api_kwargs=api_kwargs)
|
||||||
self.short_description = short_description
|
self.short_description: str = short_description
|
||||||
|
|
||||||
self._id_attrs = (self.short_description,)
|
self._id_attrs = (self.short_description,)
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ class BotName(TelegramObject):
|
||||||
|
|
||||||
def __init__(self, name: str, *, api_kwargs: JSONDict = None):
|
def __init__(self, name: str, *, api_kwargs: JSONDict = None):
|
||||||
super().__init__(api_kwargs=api_kwargs)
|
super().__init__(api_kwargs=api_kwargs)
|
||||||
self.name = name
|
self.name: str = name
|
||||||
|
|
||||||
self._id_attrs = (self.name,)
|
self._id_attrs = (self.name,)
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Lesser Public License
|
# You should have received a copy of the GNU Lesser Public License
|
||||||
"""This module contains a class that represents a Telegram SwitchInlineQueryChosenChat."""
|
"""This module contains a class that represents a Telegram SwitchInlineQueryChosenChat."""
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
from telegram._telegramobject import TelegramObject
|
from telegram._telegramobject import TelegramObject
|
||||||
from telegram._utils.types import JSONDict
|
from telegram._utils.types import JSONDict
|
||||||
|
@ -82,11 +83,11 @@ class SwitchInlineQueryChosenChat(TelegramObject):
|
||||||
):
|
):
|
||||||
super().__init__(api_kwargs=api_kwargs)
|
super().__init__(api_kwargs=api_kwargs)
|
||||||
# Optional
|
# Optional
|
||||||
self.query = query
|
self.query: Optional[str] = query
|
||||||
self.allow_user_chats = allow_user_chats
|
self.allow_user_chats: Optional[bool] = allow_user_chats
|
||||||
self.allow_bot_chats = allow_bot_chats
|
self.allow_bot_chats: Optional[bool] = allow_bot_chats
|
||||||
self.allow_group_chats = allow_group_chats
|
self.allow_group_chats: Optional[bool] = allow_group_chats
|
||||||
self.allow_channel_chats = allow_channel_chats
|
self.allow_channel_chats: Optional[bool] = allow_channel_chats
|
||||||
|
|
||||||
self._id_attrs = (
|
self._id_attrs = (
|
||||||
self.query,
|
self.query,
|
||||||
|
|
Loading…
Reference in a new issue