From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on gnuweeb.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NO_DNS_FOR_FROM,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 Received: from localhost.localdomain (unknown [101.128.125.94]) by gnuweeb.org (Postfix) with ESMTPSA id BD12D7E804; Thu, 21 Jul 2022 23:30:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gnuweeb.org; s=default; t=1658446230; bh=05G2c/m1XdgKZ3INlZDYH5lvjI3zHUgneftEylkEnPc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=A/jqB6FFsFRkm+sdfizMXz4KD80oFGeZIFwJBSH4HP49wDw59IGHAC6mQMM8kfT4n 22YJ7KgS/eFpyJOJvl1eBhqUTr9eZCpWqLryBYpGPyf9W4ZMEPlM3Ljf8Zf3gnRAmC 0LSGWbxAeXJU8P3JG9UvElkMOi/fkPQPreFcClaP3QcHqbnhn0r69Diif9Bn3bZ6PM q9/uYfolB4ZY8k1/Y5RHSCj313qUr/1TuqMyo1OkFJZStS/bfWGPnoa427fRJJfAQI ff8GH6xbJVhuwUfFEW8GQXCL1+TAQnZMo7VDFQSej5RRr1HvLODVBeIpoUbzSmsCXk wN4yWdj5LnwwQ== From: Muhammad Rizki To: Ammar Faizi Cc: Muhammad Rizki , GNU/Weeb Mailing List Subject: [PATCH v3 17/17] Add typing in decorator Date: Fri, 22 Jul 2022 06:29:38 +0700 Message-Id: <20220721232938.503-18-kiizuha@gnuweeb.org> X-Mailer: git-send-email 2.34.1.windows.1 In-Reply-To: <20220721232938.503-1-kiizuha@gnuweeb.org> References: <20220721232938.503-1-kiizuha@gnuweeb.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: I want to add code typing on @handle_flood, so when the function were called, it display the hints. Signed-off-by: Muhammad Rizki --- daemon/packages/decorator.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/daemon/packages/decorator.py b/daemon/packages/decorator.py index 7d7dc39..c7a5f02 100644 --- a/daemon/packages/decorator.py +++ b/daemon/packages/decorator.py @@ -4,15 +4,20 @@ # from pyrogram.errors.exceptions.flood_420 import FloodWait -from typing import Any, Callable +from pyrogram.types import Message +from typing import Any, Callable, TypeVar from functools import wraps import re import asyncio __all__ = ["handle_flood"] +T = TypeVar("T", bound=Message) -def handle_flood(func: Callable[[Any], Any]) -> Callable[[Any], Any]: +# +# TODO(Muhammad Rizki): Add more typing for @handle_flood +# +def handle_flood(func: Callable[[T], T]) -> Callable[[T], T]: @wraps(func) async def callback(*args: Any) -> Any: while True: -- Muhammad Rizki