diff --git a/aiogram/__init__.py b/aiogram/__init__.py index 03d29bf7..8d787ff3 100644 --- a/aiogram/__init__.py +++ b/aiogram/__init__.py @@ -1,4 +1,5 @@ import sys + if sys.version_info < (3, 7): raise ImportError('Your Python version {0} is not supported by aiogram, please install ' 'Python 3.7+'.format('.'.join(map(str, sys.version_info[:3])))) @@ -6,16 +7,11 @@ if sys.version_info < (3, 7): import asyncio import os -from . import bot -from . import contrib -from . import dispatcher -from . import types -from . import utils +from . import bot, contrib, dispatcher, types, utils from .bot import Bot -from .dispatcher import Dispatcher -from .dispatcher import filters -from .dispatcher import middlewares -from .utils import exceptions, executor, helper, markdown as md +from .dispatcher import Dispatcher, filters, middlewares +from .utils import exceptions, executor, helper +from .utils import markdown as md try: import uvloop diff --git a/aiogram/bot/base.py b/aiogram/bot/base.py index 07e44c1c..e37193fb 100644 --- a/aiogram/bot/base.py +++ b/aiogram/bot/base.py @@ -5,18 +5,18 @@ import ssl import typing import warnings from contextvars import ContextVar -from typing import Dict, List, Optional, Union, Type +from typing import Dict, List, Optional, Type, Union import aiohttp import certifi from aiohttp.helpers import sentinel -from . import api -from .api import TelegramAPIServer, TELEGRAM_PRODUCTION from ..types import ParseMode, base from ..utils import json from ..utils.auth_widget import check_integrity from ..utils.deprecated import deprecated +from . import api +from .api import TELEGRAM_PRODUCTION, TelegramAPIServer class BaseBot: diff --git a/aiogram/bot/bot.py b/aiogram/bot/bot.py index 8e7c1137..a548d350 100644 --- a/aiogram/bot/bot.py +++ b/aiogram/bot/bot.py @@ -4,13 +4,14 @@ import datetime import typing import warnings -from .base import BaseBot, api from .. import types from ..types import base from ..utils.deprecated import deprecated from ..utils.exceptions import ValidationError -from ..utils.mixins import DataMixin, ContextInstanceMixin -from ..utils.payload import generate_payload, prepare_arg, prepare_attachment, prepare_file +from ..utils.mixins import ContextInstanceMixin, DataMixin +from ..utils.payload import ( + generate_payload, prepare_arg, prepare_attachment, prepare_file) +from .base import BaseBot, api class Bot(BaseBot, DataMixin, ContextInstanceMixin): diff --git a/aiogram/contrib/fsm_storage/mongo.py b/aiogram/contrib/fsm_storage/mongo.py index aaf903f0..9fbde1e8 100644 --- a/aiogram/contrib/fsm_storage/mongo.py +++ b/aiogram/contrib/fsm_storage/mongo.py @@ -3,12 +3,11 @@ This module has mongo storage for finite-state machine based on `motor `_ driver """ -from typing import Union, Dict, Optional, List, Tuple, AnyStr - +from typing import AnyStr, Dict, List, Optional, Tuple, Union try: - import pymongo import motor + import pymongo from motor.motor_asyncio import AsyncIOMotorClient, AsyncIOMotorDatabase except ModuleNotFoundError as e: import warnings diff --git a/aiogram/contrib/middlewares/logging.py b/aiogram/contrib/middlewares/logging.py index 308d0e10..11265561 100644 --- a/aiogram/contrib/middlewares/logging.py +++ b/aiogram/contrib/middlewares/logging.py @@ -1,6 +1,5 @@ -import time - import logging +import time from aiogram import types from aiogram.dispatcher.middlewares import BaseMiddleware diff --git a/aiogram/dispatcher/__init__.py b/aiogram/dispatcher/__init__.py index e412dd36..3d33f0fd 100644 --- a/aiogram/dispatcher/__init__.py +++ b/aiogram/dispatcher/__init__.py @@ -1,9 +1,5 @@ -from . import filters -from . import handler -from . import middlewares -from . import storage -from . import webhook -from .dispatcher import Dispatcher, FSMContext, DEFAULT_RATE_LIMIT +from . import filters, handler, middlewares, storage, webhook +from .dispatcher import DEFAULT_RATE_LIMIT, Dispatcher, FSMContext __all__ = ( 'DEFAULT_RATE_LIMIT', diff --git a/aiogram/dispatcher/dispatcher.py b/aiogram/dispatcher/dispatcher.py index 3cd071a9..b5e0b68f 100644 --- a/aiogram/dispatcher/dispatcher.py +++ b/aiogram/dispatcher/dispatcher.py @@ -9,18 +9,21 @@ import aiohttp from aiohttp.helpers import sentinel from aiogram.utils.deprecated import renamed_argument -from .filters import Command, ContentTypeFilter, ExceptionsFilter, FiltersFactory, HashTag, Regexp, \ - RegexpCommandsFilter, StateFilter, Text, IDFilter, AdminFilter, IsReplyFilter, ForwardedMessageFilter, \ - IsSenderContact, ChatTypeFilter, AbstractFilter -from .handler import Handler -from .middlewares import MiddlewareManager -from .storage import BaseStorage, DELTA, DisabledStorage, EXCEEDED_COUNT, FSMContext, \ - LAST_CALL, RATE_LIMIT, RESULT -from .webhook import BaseResponse + from .. import types from ..bot import Bot from ..utils.exceptions import TelegramAPIError, Throttled from ..utils.mixins import ContextInstanceMixin, DataMixin +from .filters import ( + AbstractFilter, AdminFilter, ChatTypeFilter, Command, ContentTypeFilter, + ExceptionsFilter, FiltersFactory, ForwardedMessageFilter, HashTag, + IDFilter, IsReplyFilter, IsSenderContact, Regexp, RegexpCommandsFilter, + StateFilter, Text) +from .handler import Handler +from .middlewares import MiddlewareManager +from .storage import (DELTA, EXCEEDED_COUNT, LAST_CALL, RATE_LIMIT, RESULT, + BaseStorage, DisabledStorage, FSMContext) +from .webhook import BaseResponse log = logging.getLogger(__name__) diff --git a/aiogram/dispatcher/filters/__init__.py b/aiogram/dispatcher/filters/__init__.py index d64a2667..9cc3e99a 100644 --- a/aiogram/dispatcher/filters/__init__.py +++ b/aiogram/dispatcher/filters/__init__.py @@ -1,10 +1,12 @@ -from .builtin import Command, CommandHelp, CommandPrivacy, CommandSettings, CommandStart, ContentTypeFilter, \ - ExceptionsFilter, HashTag, Regexp, RegexpCommandsFilter, StateFilter, \ - Text, IDFilter, AdminFilter, IsReplyFilter, IsSenderContact, ForwardedMessageFilter, \ - ChatTypeFilter +from .builtin import ( + AdminFilter, ChatTypeFilter, Command, CommandHelp, CommandPrivacy, + CommandSettings, CommandStart, ContentTypeFilter, ExceptionsFilter, + ForwardedMessageFilter, HashTag, IDFilter, IsReplyFilter, IsSenderContact, + Regexp, RegexpCommandsFilter, StateFilter, Text) from .factory import FiltersFactory -from .filters import AbstractFilter, BoundFilter, Filter, FilterNotPassed, FilterRecord, execute_filter, \ - check_filters, get_filter_spec, get_filters_spec +from .filters import (AbstractFilter, BoundFilter, Filter, FilterNotPassed, + FilterRecord, check_filters, execute_filter, + get_filter_spec, get_filters_spec) __all__ = ( 'Command', diff --git a/aiogram/dispatcher/filters/factory.py b/aiogram/dispatcher/filters/factory.py index d53047d5..092e2ae4 100644 --- a/aiogram/dispatcher/filters/factory.py +++ b/aiogram/dispatcher/filters/factory.py @@ -1,7 +1,7 @@ import typing -from .filters import AbstractFilter, FilterRecord from ..handler import Handler +from .filters import AbstractFilter, FilterRecord class FiltersFactory: diff --git a/aiogram/dispatcher/filters/filters.py b/aiogram/dispatcher/filters/filters.py index 47a4f22e..4d6ff0c2 100644 --- a/aiogram/dispatcher/filters/filters.py +++ b/aiogram/dispatcher/filters/filters.py @@ -2,7 +2,7 @@ import abc import inspect import typing -from ..handler import Handler, FilterObj +from ..handler import FilterObj, Handler class FilterNotPassed(Exception): diff --git a/aiogram/dispatcher/handler.py b/aiogram/dispatcher/handler.py index 10a94924..d62a2ffe 100644 --- a/aiogram/dispatcher/handler.py +++ b/aiogram/dispatcher/handler.py @@ -1,7 +1,7 @@ import inspect from contextvars import ContextVar from dataclasses import dataclass -from typing import Optional, Iterable, List +from typing import Iterable, List, Optional ctx_data = ContextVar('ctx_handler_data') current_handler = ContextVar('current_handler') @@ -88,7 +88,7 @@ class Handler: :param args: :return: """ - from .filters import check_filters, FilterNotPassed + from .filters import FilterNotPassed, check_filters results = [] diff --git a/aiogram/dispatcher/webhook.py b/aiogram/dispatcher/webhook.py index 52191870..fe1f2cbe 100644 --- a/aiogram/dispatcher/webhook.py +++ b/aiogram/dispatcher/webhook.py @@ -4,8 +4,8 @@ import datetime import functools import ipaddress import itertools -import typing import logging +import typing from typing import Dict, List, Optional, Union from aiohttp import web @@ -15,8 +15,7 @@ from .. import types from ..bot import api from ..types import ParseMode from ..types.base import Boolean, Float, Integer, String -from ..utils import helper, markdown -from ..utils import json +from ..utils import helper, json, markdown from ..utils.deprecated import warn_deprecated as warn from ..utils.exceptions import TimeoutWarning from ..utils.payload import prepare_arg diff --git a/aiogram/types/__init__.py b/aiogram/types/__init__.py index 26201130..60bce0d6 100644 --- a/aiogram/types/__init__.py +++ b/aiogram/types/__init__.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields from .animation import Animation from .audio import Audio from .auth_widget_data import AuthWidgetData @@ -23,17 +22,34 @@ from .game import Game from .game_high_score import GameHighScore from .inline_keyboard import InlineKeyboardButton, InlineKeyboardMarkup from .inline_query import InlineQuery -from .inline_query_result import InlineQueryResult, InlineQueryResultArticle, InlineQueryResultAudio, \ - InlineQueryResultCachedAudio, InlineQueryResultCachedDocument, InlineQueryResultCachedGif, \ - InlineQueryResultCachedMpeg4Gif, InlineQueryResultCachedPhoto, InlineQueryResultCachedSticker, \ - InlineQueryResultCachedVideo, InlineQueryResultCachedVoice, InlineQueryResultContact, InlineQueryResultDocument, \ - InlineQueryResultGame, InlineQueryResultGif, InlineQueryResultLocation, InlineQueryResultMpeg4Gif, \ - InlineQueryResultPhoto, InlineQueryResultVenue, InlineQueryResultVideo, InlineQueryResultVoice +from .inline_query_result import (InlineQueryResult, InlineQueryResultArticle, + InlineQueryResultAudio, + InlineQueryResultCachedAudio, + InlineQueryResultCachedDocument, + InlineQueryResultCachedGif, + InlineQueryResultCachedMpeg4Gif, + InlineQueryResultCachedPhoto, + InlineQueryResultCachedSticker, + InlineQueryResultCachedVideo, + InlineQueryResultCachedVoice, + InlineQueryResultContact, + InlineQueryResultDocument, + InlineQueryResultGame, InlineQueryResultGif, + InlineQueryResultLocation, + InlineQueryResultMpeg4Gif, + InlineQueryResultPhoto, + InlineQueryResultVenue, + InlineQueryResultVideo, + InlineQueryResultVoice) from .input_file import InputFile -from .input_media import InputMedia, InputMediaAnimation, InputMediaAudio, InputMediaDocument, InputMediaPhoto, \ - InputMediaVideo, MediaGroup -from .input_message_content import InputContactMessageContent, InputLocationMessageContent, InputMessageContent, \ - InputTextMessageContent, InputVenueMessageContent +from .input_media import ( + InputMedia, InputMediaAnimation, InputMediaAudio, InputMediaDocument, + InputMediaPhoto, InputMediaVideo, MediaGroup) +from .input_message_content import (InputContactMessageContent, + InputLocationMessageContent, + InputMessageContent, + InputTextMessageContent, + InputVenueMessageContent) from .invoice import Invoice from .labeled_price import LabeledPrice from .location import Location @@ -44,15 +60,20 @@ from .message_entity import MessageEntity, MessageEntityType from .message_id import MessageId from .order_info import OrderInfo from .passport_data import PassportData -from .passport_element_error import PassportElementError, PassportElementErrorDataField, PassportElementErrorFile, \ - PassportElementErrorFiles, PassportElementErrorFrontSide, PassportElementErrorReverseSide, \ - PassportElementErrorSelfie +from .passport_element_error import (PassportElementError, + PassportElementErrorDataField, + PassportElementErrorFile, + PassportElementErrorFiles, + PassportElementErrorFrontSide, + PassportElementErrorReverseSide, + PassportElementErrorSelfie) from .passport_file import PassportFile from .photo_size import PhotoSize -from .poll import PollOption, Poll, PollAnswer, PollType +from .poll import Poll, PollAnswer, PollOption, PollType from .pre_checkout_query import PreCheckoutQuery from .proximity_alert_triggered import ProximityAlertTriggered -from .reply_keyboard import KeyboardButton, ReplyKeyboardMarkup, ReplyKeyboardRemove, KeyboardButtonPollType +from .reply_keyboard import (KeyboardButton, KeyboardButtonPollType, + ReplyKeyboardMarkup, ReplyKeyboardRemove) from .response_parameters import ResponseParameters from .shipping_address import ShippingAddress from .shipping_option import ShippingOption diff --git a/aiogram/types/animation.py b/aiogram/types/animation.py index b08089c1..097f6d74 100644 --- a/aiogram/types/animation.py +++ b/aiogram/types/animation.py @@ -1,6 +1,4 @@ -from . import base -from . import fields -from . import mixins +from . import base, fields, mixins from .photo_size import PhotoSize diff --git a/aiogram/types/audio.py b/aiogram/types/audio.py index 1657c9cc..609f9cdc 100644 --- a/aiogram/types/audio.py +++ b/aiogram/types/audio.py @@ -1,6 +1,4 @@ -from . import base -from . import fields -from . import mixins +from . import base, fields, mixins from .photo_size import PhotoSize diff --git a/aiogram/types/auth_widget_data.py b/aiogram/types/auth_widget_data.py index 6353e239..92befb41 100644 --- a/aiogram/types/auth_widget_data.py +++ b/aiogram/types/auth_widget_data.py @@ -2,8 +2,7 @@ from __future__ import annotations from aiohttp import web -from . import base -from . import fields +from . import base, fields class AuthWidgetData(base.TelegramObject): diff --git a/aiogram/types/base.py b/aiogram/types/base.py index 4aae01ab..3aca7456 100644 --- a/aiogram/types/base.py +++ b/aiogram/types/base.py @@ -6,9 +6,10 @@ from typing import TypeVar from babel.support import LazyProxy -from .fields import BaseField from ..utils import json from ..utils.mixins import ContextInstanceMixin +from .fields import BaseField + if typing.TYPE_CHECKING: from ..bot.bot import Bot diff --git a/aiogram/types/bot_command.py b/aiogram/types/bot_command.py index 39e38e4f..79faa5d4 100644 --- a/aiogram/types/bot_command.py +++ b/aiogram/types/bot_command.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields class BotCommand(base.TelegramObject): diff --git a/aiogram/types/callback_query.py b/aiogram/types/callback_query.py index 5eeb2f0c..1bd01f1f 100644 --- a/aiogram/types/callback_query.py +++ b/aiogram/types/callback_query.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields from .message import Message from .user import User diff --git a/aiogram/types/chat.py b/aiogram/types/chat.py index 1ff5dc75..925ea2a7 100644 --- a/aiogram/types/chat.py +++ b/aiogram/types/chat.py @@ -4,14 +4,14 @@ import asyncio import datetime import typing +from ..utils import helper, markdown +from ..utils.deprecated import DeprecatedReadOnlyClassVar, deprecated from . import base, fields from .chat_location import ChatLocation from .chat_member import ChatMember from .chat_permissions import ChatPermissions from .chat_photo import ChatPhoto from .input_file import InputFile -from ..utils import helper, markdown -from ..utils.deprecated import deprecated, DeprecatedReadOnlyClassVar class Chat(base.TelegramObject): diff --git a/aiogram/types/chat_location.py b/aiogram/types/chat_location.py index 0438c544..ea139910 100644 --- a/aiogram/types/chat_location.py +++ b/aiogram/types/chat_location.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields from .location import Location diff --git a/aiogram/types/chat_member.py b/aiogram/types/chat_member.py index 4aa52b80..177b2ea8 100644 --- a/aiogram/types/chat_member.py +++ b/aiogram/types/chat_member.py @@ -1,9 +1,8 @@ import datetime -from . import base -from . import fields -from .user import User from ..utils import helper +from . import base, fields +from .user import User class ChatMember(base.TelegramObject): diff --git a/aiogram/types/chat_permissions.py b/aiogram/types/chat_permissions.py index 9d44653e..68e8ceaf 100644 --- a/aiogram/types/chat_permissions.py +++ b/aiogram/types/chat_permissions.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields class ChatPermissions(base.TelegramObject): diff --git a/aiogram/types/chat_photo.py b/aiogram/types/chat_photo.py index d0282a58..eb41e90c 100644 --- a/aiogram/types/chat_photo.py +++ b/aiogram/types/chat_photo.py @@ -1,8 +1,7 @@ import os import pathlib -from . import base -from . import fields +from . import base, fields class ChatPhoto(base.TelegramObject): diff --git a/aiogram/types/chosen_inline_result.py b/aiogram/types/chosen_inline_result.py index 246b071d..92ef8962 100644 --- a/aiogram/types/chosen_inline_result.py +++ b/aiogram/types/chosen_inline_result.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields from .location import Location from .user import User diff --git a/aiogram/types/contact.py b/aiogram/types/contact.py index b70045b9..dcd912c4 100644 --- a/aiogram/types/contact.py +++ b/aiogram/types/contact.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields class Contact(base.TelegramObject): diff --git a/aiogram/types/document.py b/aiogram/types/document.py index e15b745d..8f11de50 100644 --- a/aiogram/types/document.py +++ b/aiogram/types/document.py @@ -1,6 +1,4 @@ -from . import base -from . import fields -from . import mixins +from . import base, fields, mixins from .photo_size import PhotoSize diff --git a/aiogram/types/encrypted_credentials.py b/aiogram/types/encrypted_credentials.py index d649c8d9..9d797e3b 100644 --- a/aiogram/types/encrypted_credentials.py +++ b/aiogram/types/encrypted_credentials.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields class EncryptedCredentials(base.TelegramObject): diff --git a/aiogram/types/encrypted_passport_element.py b/aiogram/types/encrypted_passport_element.py index 76e02ec1..338af821 100644 --- a/aiogram/types/encrypted_passport_element.py +++ b/aiogram/types/encrypted_passport_element.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields from .passport_file import PassportFile diff --git a/aiogram/types/file.py b/aiogram/types/file.py index ae813ac6..b3f29dac 100644 --- a/aiogram/types/file.py +++ b/aiogram/types/file.py @@ -1,6 +1,4 @@ -from . import base -from . import fields -from . import mixins +from . import base, fields, mixins class File(base.TelegramObject, mixins.Downloadable): diff --git a/aiogram/types/force_reply.py b/aiogram/types/force_reply.py index 97ec16c6..03c3440b 100644 --- a/aiogram/types/force_reply.py +++ b/aiogram/types/force_reply.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields class ForceReply(base.TelegramObject): diff --git a/aiogram/types/game.py b/aiogram/types/game.py index f5861d90..c9180fa3 100644 --- a/aiogram/types/game.py +++ b/aiogram/types/game.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields from .animation import Animation from .message_entity import MessageEntity from .photo_size import PhotoSize diff --git a/aiogram/types/game_high_score.py b/aiogram/types/game_high_score.py index 43f9c1c9..e65e0da2 100644 --- a/aiogram/types/game_high_score.py +++ b/aiogram/types/game_high_score.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields from .user import User diff --git a/aiogram/types/inline_keyboard.py b/aiogram/types/inline_keyboard.py index 195c1e67..a18f17b6 100644 --- a/aiogram/types/inline_keyboard.py +++ b/aiogram/types/inline_keyboard.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields from .callback_game import CallbackGame from .login_url import LoginUrl diff --git a/aiogram/types/inline_query.py b/aiogram/types/inline_query.py index 436c11b0..5f3879c8 100644 --- a/aiogram/types/inline_query.py +++ b/aiogram/types/inline_query.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields from .inline_query_result import InlineQueryResult from .location import Location from .user import User diff --git a/aiogram/types/inline_query_result.py b/aiogram/types/inline_query_result.py index da09db9d..f7e36828 100644 --- a/aiogram/types/inline_query_result.py +++ b/aiogram/types/inline_query_result.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields from .inline_keyboard import InlineKeyboardMarkup from .input_message_content import InputMessageContent from .message_entity import MessageEntity diff --git a/aiogram/types/input_file.py b/aiogram/types/input_file.py index c974025a..0cfda5cd 100644 --- a/aiogram/types/input_file.py +++ b/aiogram/types/input_file.py @@ -9,8 +9,8 @@ from typing import Union import aiohttp -from . import base from ..bot import api +from . import base CHUNK_SIZE = 65536 diff --git a/aiogram/types/input_media.py b/aiogram/types/input_media.py index 943a534c..328d8c2d 100644 --- a/aiogram/types/input_media.py +++ b/aiogram/types/input_media.py @@ -2,8 +2,7 @@ import io import secrets import typing -from . import base -from . import fields +from . import base, fields from .input_file import InputFile from .message_entity import MessageEntity diff --git a/aiogram/types/input_message_content.py b/aiogram/types/input_message_content.py index 522d44c5..880a4c07 100644 --- a/aiogram/types/input_message_content.py +++ b/aiogram/types/input_message_content.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields from .message_entity import MessageEntity diff --git a/aiogram/types/invoice.py b/aiogram/types/invoice.py index 172fcbc4..a7868670 100644 --- a/aiogram/types/invoice.py +++ b/aiogram/types/invoice.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields class Invoice(base.TelegramObject): diff --git a/aiogram/types/labeled_price.py b/aiogram/types/labeled_price.py index f2cbd38b..84f72b01 100644 --- a/aiogram/types/labeled_price.py +++ b/aiogram/types/labeled_price.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields class LabeledPrice(base.TelegramObject): diff --git a/aiogram/types/location.py b/aiogram/types/location.py index 5f159e33..262558b6 100644 --- a/aiogram/types/location.py +++ b/aiogram/types/location.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields class Location(base.TelegramObject): diff --git a/aiogram/types/login_url.py b/aiogram/types/login_url.py index c0dd6133..918e2e70 100644 --- a/aiogram/types/login_url.py +++ b/aiogram/types/login_url.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields class LoginUrl(base.TelegramObject): diff --git a/aiogram/types/mask_position.py b/aiogram/types/mask_position.py index e0620463..66630671 100644 --- a/aiogram/types/mask_position.py +++ b/aiogram/types/mask_position.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields class MaskPosition(base.TelegramObject): diff --git a/aiogram/types/order_info.py b/aiogram/types/order_info.py index 73bac9e2..680f450f 100644 --- a/aiogram/types/order_info.py +++ b/aiogram/types/order_info.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields from .shipping_address import ShippingAddress diff --git a/aiogram/types/passport_data.py b/aiogram/types/passport_data.py index 2fed9fae..670c4c2a 100644 --- a/aiogram/types/passport_data.py +++ b/aiogram/types/passport_data.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields from .encrypted_credentials import EncryptedCredentials from .encrypted_passport_element import EncryptedPassportElement diff --git a/aiogram/types/passport_element_error.py b/aiogram/types/passport_element_error.py index f673ba16..51897363 100644 --- a/aiogram/types/passport_element_error.py +++ b/aiogram/types/passport_element_error.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields class PassportElementError(base.TelegramObject): diff --git a/aiogram/types/passport_file.py b/aiogram/types/passport_file.py index de59e66b..476a7973 100644 --- a/aiogram/types/passport_file.py +++ b/aiogram/types/passport_file.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields class PassportFile(base.TelegramObject): diff --git a/aiogram/types/photo_size.py b/aiogram/types/photo_size.py index cca95304..8911ff4a 100644 --- a/aiogram/types/photo_size.py +++ b/aiogram/types/photo_size.py @@ -1,6 +1,4 @@ -from . import base -from . import fields -from . import mixins +from . import base, fields, mixins class PhotoSize(base.TelegramObject, mixins.Downloadable): diff --git a/aiogram/types/poll.py b/aiogram/types/poll.py index a709edcd..33d75ed8 100644 --- a/aiogram/types/poll.py +++ b/aiogram/types/poll.py @@ -1,11 +1,11 @@ import datetime import typing +from ..utils import helper +from ..utils.text_decorations import html_decoration, markdown_decoration from . import base, fields from .message_entity import MessageEntity from .user import User -from ..utils import helper -from ..utils.text_decorations import html_decoration, markdown_decoration class PollOption(base.TelegramObject): diff --git a/aiogram/types/pre_checkout_query.py b/aiogram/types/pre_checkout_query.py index 4786ce48..254f2ba1 100644 --- a/aiogram/types/pre_checkout_query.py +++ b/aiogram/types/pre_checkout_query.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields from .order_info import OrderInfo from .user import User diff --git a/aiogram/types/proximity_alert_triggered.py b/aiogram/types/proximity_alert_triggered.py index 240854d8..61c9dc84 100644 --- a/aiogram/types/proximity_alert_triggered.py +++ b/aiogram/types/proximity_alert_triggered.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields from .user import User diff --git a/aiogram/types/reply_keyboard.py b/aiogram/types/reply_keyboard.py index 5db89e84..28744e57 100644 --- a/aiogram/types/reply_keyboard.py +++ b/aiogram/types/reply_keyboard.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields class KeyboardButtonPollType(base.TelegramObject): diff --git a/aiogram/types/response_parameters.py b/aiogram/types/response_parameters.py index 8f40cc11..096ffef5 100644 --- a/aiogram/types/response_parameters.py +++ b/aiogram/types/response_parameters.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields class ResponseParameters(base.TelegramObject): diff --git a/aiogram/types/shipping_address.py b/aiogram/types/shipping_address.py index 8c8d3418..75c92830 100644 --- a/aiogram/types/shipping_address.py +++ b/aiogram/types/shipping_address.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields class ShippingAddress(base.TelegramObject): diff --git a/aiogram/types/shipping_option.py b/aiogram/types/shipping_option.py index 4ec915c5..cad9652b 100644 --- a/aiogram/types/shipping_option.py +++ b/aiogram/types/shipping_option.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields from .labeled_price import LabeledPrice diff --git a/aiogram/types/shipping_query.py b/aiogram/types/shipping_query.py index 0de540a3..cf0315b0 100644 --- a/aiogram/types/shipping_query.py +++ b/aiogram/types/shipping_query.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields from .shipping_address import ShippingAddress from .user import User diff --git a/aiogram/types/sticker.py b/aiogram/types/sticker.py index ea222831..ae6110d6 100644 --- a/aiogram/types/sticker.py +++ b/aiogram/types/sticker.py @@ -1,6 +1,4 @@ -from . import base -from . import fields -from . import mixins +from . import base, fields, mixins from .mask_position import MaskPosition from .photo_size import PhotoSize diff --git a/aiogram/types/sticker_set.py b/aiogram/types/sticker_set.py index 3b5290c3..9851226d 100644 --- a/aiogram/types/sticker_set.py +++ b/aiogram/types/sticker_set.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields from .photo_size import PhotoSize from .sticker import Sticker diff --git a/aiogram/types/successful_payment.py b/aiogram/types/successful_payment.py index 41cd32da..72196577 100644 --- a/aiogram/types/successful_payment.py +++ b/aiogram/types/successful_payment.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields from .order_info import OrderInfo diff --git a/aiogram/types/update.py b/aiogram/types/update.py index 9d1afacc..35e9936c 100644 --- a/aiogram/types/update.py +++ b/aiogram/types/update.py @@ -1,7 +1,7 @@ from __future__ import annotations -from . import base -from . import fields +from ..utils import deprecated, helper +from . import base, fields from .callback_query import CallbackQuery from .chosen_inline_result import ChosenInlineResult from .inline_query import InlineQuery @@ -9,7 +9,6 @@ from .message import Message from .poll import Poll, PollAnswer from .pre_checkout_query import PreCheckoutQuery from .shipping_query import ShippingQuery -from ..utils import helper, deprecated class Update(base.TelegramObject): diff --git a/aiogram/types/user.py b/aiogram/types/user.py index 8263cfc2..c7931a1e 100644 --- a/aiogram/types/user.py +++ b/aiogram/types/user.py @@ -4,10 +4,9 @@ from typing import Optional import babel -from . import base -from . import fields from ..utils import markdown from ..utils.deprecated import deprecated +from . import base, fields class User(base.TelegramObject): diff --git a/aiogram/types/user_profile_photos.py b/aiogram/types/user_profile_photos.py index 259f669c..6cd61260 100644 --- a/aiogram/types/user_profile_photos.py +++ b/aiogram/types/user_profile_photos.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields from .photo_size import PhotoSize diff --git a/aiogram/types/venue.py b/aiogram/types/venue.py index b851650b..f81de090 100644 --- a/aiogram/types/venue.py +++ b/aiogram/types/venue.py @@ -1,5 +1,4 @@ -from . import base -from . import fields +from . import base, fields from .location import Location diff --git a/aiogram/types/video.py b/aiogram/types/video.py index d4958761..247758c7 100644 --- a/aiogram/types/video.py +++ b/aiogram/types/video.py @@ -1,6 +1,4 @@ -from . import base -from . import fields -from . import mixins +from . import base, fields, mixins from .photo_size import PhotoSize diff --git a/aiogram/types/video_note.py b/aiogram/types/video_note.py index 8702faae..0b38cdbc 100644 --- a/aiogram/types/video_note.py +++ b/aiogram/types/video_note.py @@ -1,6 +1,4 @@ -from . import base -from . import fields -from . import mixins +from . import base, fields, mixins from .photo_size import PhotoSize diff --git a/aiogram/types/voice.py b/aiogram/types/voice.py index fd88e402..f99b063d 100644 --- a/aiogram/types/voice.py +++ b/aiogram/types/voice.py @@ -1,6 +1,4 @@ -from . import base -from . import fields -from . import mixins +from . import base, fields, mixins class Voice(base.TelegramObject, mixins.Downloadable): diff --git a/aiogram/types/webhook_info.py b/aiogram/types/webhook_info.py index dc1a7cd9..75fd0f8c 100644 --- a/aiogram/types/webhook_info.py +++ b/aiogram/types/webhook_info.py @@ -1,7 +1,6 @@ import typing -from . import base -from . import fields +from . import base, fields class WebhookInfo(base.TelegramObject): diff --git a/aiogram/utils/deprecated.py b/aiogram/utils/deprecated.py index 6d0d7ee3..b0330ad2 100644 --- a/aiogram/utils/deprecated.py +++ b/aiogram/utils/deprecated.py @@ -1,8 +1,8 @@ import asyncio +import functools import inspect import warnings -import functools -from typing import Callable, Generic, TypeVar, Type, Optional +from typing import Callable, Generic, Optional, Type, TypeVar def deprecated(reason, stacklevel=2) -> Callable: diff --git a/aiogram/utils/exceptions.py b/aiogram/utils/exceptions.py index cc1885dd..684c13ac 100644 --- a/aiogram/utils/exceptions.py +++ b/aiogram/utils/exceptions.py @@ -557,7 +557,8 @@ class MigrateToChat(TelegramAPIError): class Throttled(TelegramAPIError): def __init__(self, **kwargs): - from ..dispatcher.storage import DELTA, EXCEEDED_COUNT, KEY, LAST_CALL, RATE_LIMIT, RESULT + from ..dispatcher.storage import (DELTA, EXCEEDED_COUNT, KEY, + LAST_CALL, RATE_LIMIT, RESULT) self.key = kwargs.pop(KEY, '') self.called_at = kwargs.pop(LAST_CALL, time.time()) self.rate = kwargs.pop(RATE_LIMIT, None) diff --git a/aiogram/utils/executor.py b/aiogram/utils/executor.py index 1b5b0b0b..21b03e94 100644 --- a/aiogram/utils/executor.py +++ b/aiogram/utils/executor.py @@ -2,7 +2,7 @@ import asyncio import datetime import functools import secrets -from typing import Callable, Union, Optional, Any +from typing import Any, Callable, Optional, Union from warnings import warn from aiohttp import web @@ -10,7 +10,8 @@ from aiohttp.web_app import Application from ..bot.api import log from ..dispatcher.dispatcher import Dispatcher -from ..dispatcher.webhook import BOT_DISPATCHER_KEY, DEFAULT_ROUTE_NAME, WebhookRequestHandler +from ..dispatcher.webhook import (BOT_DISPATCHER_KEY, DEFAULT_ROUTE_NAME, + WebhookRequestHandler) APP_EXECUTOR_KEY = 'APP_EXECUTOR' diff --git a/aiogram/utils/mixins.py b/aiogram/utils/mixins.py index 90ef4edb..49efb5b2 100644 --- a/aiogram/utils/mixins.py +++ b/aiogram/utils/mixins.py @@ -1,5 +1,5 @@ import contextvars -from typing import TypeVar, Type +from typing import Type, TypeVar __all__ = ('DataMixin', 'ContextInstanceMixin') diff --git a/aiogram/utils/payload.py b/aiogram/utils/payload.py index 0c5e8ae9..9b3fbc9a 100644 --- a/aiogram/utils/payload.py +++ b/aiogram/utils/payload.py @@ -4,6 +4,7 @@ import secrets from babel.support import LazyProxy from aiogram import types + from . import json DEFAULT_FILTER = ['self', 'cls'] diff --git a/examples/admin_filter_example.py b/examples/admin_filter_example.py index ec8746bb..9f05c307 100644 --- a/examples/admin_filter_example.py +++ b/examples/admin_filter_example.py @@ -1,6 +1,6 @@ import logging -from aiogram import Bot, Dispatcher, types, executor +from aiogram import Bot, Dispatcher, executor, types API_TOKEN = 'API_TOKEN_HERE' diff --git a/examples/callback_data_factory.py b/examples/callback_data_factory.py index c95860f1..10d4c8c8 100644 --- a/examples/callback_data_factory.py +++ b/examples/callback_data_factory.py @@ -1,7 +1,7 @@ import logging import random -import uuid import typing +import uuid from aiogram import Bot, Dispatcher, executor, md, types from aiogram.contrib.fsm_storage.memory import MemoryStorage diff --git a/examples/id_filter_example.py b/examples/id_filter_example.py index bb9bba6a..097ed0ec 100644 --- a/examples/id_filter_example.py +++ b/examples/id_filter_example.py @@ -1,7 +1,6 @@ from aiogram import Bot, Dispatcher, executor, types from aiogram.dispatcher.handler import SkipHandler - API_TOKEN = 'BOT_TOKEN_HERE' bot = Bot(token=API_TOKEN) dp = Dispatcher(bot) diff --git a/examples/inline_bot.py b/examples/inline_bot.py index 28f83e43..2af9f18f 100644 --- a/examples/inline_bot.py +++ b/examples/inline_bot.py @@ -2,8 +2,8 @@ import hashlib import logging from aiogram import Bot, Dispatcher, executor -from aiogram.types import InlineQuery, \ - InputTextMessageContent, InlineQueryResultArticle +from aiogram.types import (InlineQuery, InlineQueryResultArticle, + InputTextMessageContent) API_TOKEN = 'BOT_TOKEN_HERE' diff --git a/examples/inline_keyboard_example.py b/examples/inline_keyboard_example.py index 8b950f98..f2563275 100644 --- a/examples/inline_keyboard_example.py +++ b/examples/inline_keyboard_example.py @@ -6,7 +6,6 @@ import logging from aiogram import Bot, Dispatcher, executor, types - API_TOKEN = 'BOT_TOKEN_HERE' # Configure logging diff --git a/examples/media_group.py b/examples/media_group.py index 3d488364..00af1ae7 100644 --- a/examples/media_group.py +++ b/examples/media_group.py @@ -2,7 +2,6 @@ import asyncio from aiogram import Bot, Dispatcher, executor, filters, types - API_TOKEN = 'BOT_TOKEN_HERE' bot = Bot(token=API_TOKEN) diff --git a/examples/payments.py b/examples/payments.py index 42162578..e9bf779b 100644 --- a/examples/payments.py +++ b/examples/payments.py @@ -1,10 +1,8 @@ -from aiogram import Bot -from aiogram import types +from aiogram import Bot, types from aiogram.dispatcher import Dispatcher from aiogram.types.message import ContentTypes from aiogram.utils import executor - BOT_TOKEN = 'BOT_TOKEN_HERE' PAYMENTS_PROVIDER_TOKEN = '123456789:TEST:1422' diff --git a/examples/regexp_commands_filter_example.py b/examples/regexp_commands_filter_example.py index 05de9dd8..7647e056 100644 --- a/examples/regexp_commands_filter_example.py +++ b/examples/regexp_commands_filter_example.py @@ -2,7 +2,6 @@ from aiogram import Bot, types from aiogram.dispatcher import Dispatcher, filters from aiogram.utils import executor - bot = Bot(token='BOT_TOKEN_HERE', parse_mode=types.ParseMode.HTML) dp = Dispatcher(bot) diff --git a/examples/regular_keyboard_example.py b/examples/regular_keyboard_example.py index d111053c..0d41de81 100644 --- a/examples/regular_keyboard_example.py +++ b/examples/regular_keyboard_example.py @@ -6,7 +6,6 @@ import logging from aiogram import Bot, Dispatcher, executor, types - API_TOKEN = 'BOT_TOKEN_HERE' # Configure logging diff --git a/examples/text_filter_example.py b/examples/text_filter_example.py index 60d631e3..adc903c5 100644 --- a/examples/text_filter_example.py +++ b/examples/text_filter_example.py @@ -7,7 +7,6 @@ import logging from aiogram import Bot, Dispatcher, executor, types - API_TOKEN = 'BOT_TOKEN_HERE' # Configure logging diff --git a/examples/throttling_example.py b/examples/throttling_example.py index f9ad1c67..4fdefb2a 100644 --- a/examples/throttling_example.py +++ b/examples/throttling_example.py @@ -12,7 +12,6 @@ from aiogram.dispatcher import Dispatcher from aiogram.utils.exceptions import Throttled from aiogram.utils.executor import start_polling - API_TOKEN = 'BOT_TOKEN_HERE' logging.basicConfig(level=logging.INFO) diff --git a/examples/webhook_example.py b/examples/webhook_example.py index 6efa8767..3de3f721 100644 --- a/examples/webhook_example.py +++ b/examples/webhook_example.py @@ -6,7 +6,6 @@ from aiogram.dispatcher import Dispatcher from aiogram.dispatcher.webhook import SendMessage from aiogram.utils.executor import start_webhook - API_TOKEN = 'BOT_TOKEN_HERE' # webhook settings diff --git a/examples/webhook_example_old.py b/examples/webhook_example_old.py index 0f6ae3cd..142623e4 100644 --- a/examples/webhook_example_old.py +++ b/examples/webhook_example_old.py @@ -12,9 +12,9 @@ import aiogram from aiogram import Bot, types from aiogram.contrib.fsm_storage.memory import MemoryStorage from aiogram.dispatcher import Dispatcher -from aiogram.dispatcher.webhook import get_new_configured_app, SendMessage -from aiogram.types import ChatType, ParseMode, ContentTypes -from aiogram.utils.markdown import hbold, bold, text, link +from aiogram.dispatcher.webhook import SendMessage, get_new_configured_app +from aiogram.types import ChatType, ContentTypes, ParseMode +from aiogram.utils.markdown import bold, hbold, link, text TOKEN = 'BOT TOKEN HERE' diff --git a/tests/__init__.py b/tests/__init__.py index 920d5663..7de01497 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -27,6 +27,7 @@ class FakeTelegram(aresponses.ResponsesMockServer): @staticmethod def parse_data(message_data): import json + from aiogram.utils.payload import _normalize _body = '{"ok":true,"result":' + json.dumps(_normalize(message_data)) + '}' diff --git a/tests/conftest.py b/tests/conftest.py index 03c8dbe4..297fbd28 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,6 +1,6 @@ +import aioredis.util import pytest from _pytest.config import UsageError -import aioredis.util def pytest_addoption(parser): diff --git a/tests/test_bot.py b/tests/test_bot.py index e80b33d1..54cd0c47 100644 --- a/tests/test_bot.py +++ b/tests/test_bot.py @@ -1,7 +1,8 @@ import pytest from aiogram import Bot, types -from . import FakeTelegram, TOKEN, BOT_ID + +from . import BOT_ID, TOKEN, FakeTelegram pytestmark = pytest.mark.asyncio @@ -151,7 +152,7 @@ async def test_send_media_group(bot: Bot, event_loop): async def test_send_location(bot: Bot, event_loop): """ sendLocation method test """ - from .types.dataset import MESSAGE_WITH_LOCATION, LOCATION + from .types.dataset import LOCATION, MESSAGE_WITH_LOCATION msg = types.Message(**MESSAGE_WITH_LOCATION) location = types.Location(**LOCATION) @@ -163,7 +164,7 @@ async def test_send_location(bot: Bot, event_loop): async def test_edit_message_live_location_by_bot(bot: Bot, event_loop): """ editMessageLiveLocation method test """ - from .types.dataset import MESSAGE_WITH_LOCATION, LOCATION + from .types.dataset import LOCATION, MESSAGE_WITH_LOCATION msg = types.Message(**MESSAGE_WITH_LOCATION) location = types.Location(**LOCATION) @@ -176,7 +177,7 @@ async def test_edit_message_live_location_by_bot(bot: Bot, event_loop): async def test_edit_message_live_location_by_user(bot: Bot, event_loop): """ editMessageLiveLocation method test """ - from .types.dataset import MESSAGE_WITH_LOCATION, LOCATION + from .types.dataset import LOCATION, MESSAGE_WITH_LOCATION msg = types.Message(**MESSAGE_WITH_LOCATION) location = types.Location(**LOCATION) @@ -212,7 +213,7 @@ async def test_stop_message_live_location_by_user(bot: Bot, event_loop): async def test_send_venue(bot: Bot, event_loop): """ sendVenue method test """ - from .types.dataset import MESSAGE_WITH_VENUE, VENUE, LOCATION + from .types.dataset import LOCATION, MESSAGE_WITH_VENUE, VENUE msg = types.Message(**MESSAGE_WITH_VENUE) location = types.Location(**LOCATION) venue = types.Venue(**VENUE) @@ -226,7 +227,7 @@ async def test_send_venue(bot: Bot, event_loop): async def test_send_contact(bot: Bot, event_loop): """ sendContact method test """ - from .types.dataset import MESSAGE_WITH_CONTACT, CONTACT + from .types.dataset import CONTACT, MESSAGE_WITH_CONTACT msg = types.Message(**MESSAGE_WITH_CONTACT) contact = types.Contact(**CONTACT) @@ -259,7 +260,7 @@ async def test_send_chat_action(bot: Bot, event_loop): async def test_get_user_profile_photo(bot: Bot, event_loop): """ getUserProfilePhotos method test """ - from .types.dataset import USER_PROFILE_PHOTOS, USER + from .types.dataset import USER, USER_PROFILE_PHOTOS user = types.User(**USER) async with FakeTelegram(message_data=USER_PROFILE_PHOTOS, loop=event_loop): @@ -279,7 +280,7 @@ async def test_get_file(bot: Bot, event_loop): async def test_kick_chat_member(bot: Bot, event_loop): """ kickChatMember method test """ - from .types.dataset import USER, CHAT + from .types.dataset import CHAT, USER user = types.User(**USER) chat = types.Chat(**CHAT) @@ -291,7 +292,7 @@ async def test_kick_chat_member(bot: Bot, event_loop): async def test_unban_chat_member(bot: Bot, event_loop): """ unbanChatMember method test """ - from .types.dataset import USER, CHAT + from .types.dataset import CHAT, USER user = types.User(**USER) chat = types.Chat(**CHAT) @@ -303,7 +304,7 @@ async def test_unban_chat_member(bot: Bot, event_loop): async def test_restrict_chat_member(bot: Bot, event_loop): """ restrictChatMember method test """ - from .types.dataset import USER, CHAT + from .types.dataset import CHAT, USER user = types.User(**USER) chat = types.Chat(**CHAT) @@ -323,7 +324,7 @@ async def test_restrict_chat_member(bot: Bot, event_loop): async def test_promote_chat_member(bot: Bot, event_loop): """ promoteChatMember method test """ - from .types.dataset import USER, CHAT + from .types.dataset import CHAT, USER user = types.User(**USER) chat = types.Chat(**CHAT) diff --git a/tests/test_bot/test_session.py b/tests/test_bot/test_session.py index dec6379c..5458e3c8 100644 --- a/tests/test_bot/test_session.py +++ b/tests/test_bot/test_session.py @@ -7,7 +7,8 @@ from aiogram.bot.base import BaseBot try: from asynctest import CoroutineMock, patch except ImportError: - from unittest.mock import AsyncMock as CoroutineMock, patch # type: ignore + from unittest.mock import AsyncMock as CoroutineMock # type: ignore + from unittest.mock import patch class TestAiohttpSession: diff --git a/tests/test_dispatcher.py b/tests/test_dispatcher.py index 6ebaf472..700bda2d 100644 --- a/tests/test_dispatcher.py +++ b/tests/test_dispatcher.py @@ -1,6 +1,6 @@ import pytest -from aiogram import Dispatcher, Bot +from aiogram import Bot, Dispatcher pytestmark = pytest.mark.asyncio diff --git a/tests/test_dispatcher/test_filters/test_builtin.py b/tests/test_dispatcher/test_filters/test_builtin.py index 4f05cb22..edfc9291 100644 --- a/tests/test_dispatcher/test_filters/test_builtin.py +++ b/tests/test_dispatcher/test_filters/test_builtin.py @@ -1,13 +1,12 @@ -from typing import Set from datetime import datetime +from typing import Set import pytest -from aiogram.dispatcher.filters.builtin import ( - Text, - extract_chat_ids, - ChatIDArgumentType, ForwardedMessageFilter, IDFilter, -) +from aiogram.dispatcher.filters.builtin import (ChatIDArgumentType, + ForwardedMessageFilter, + IDFilter, Text, + extract_chat_ids) from aiogram.types import Message from tests.types.dataset import MESSAGE, MESSAGE_FROM_CHANNEL diff --git a/tests/test_dispatcher/test_filters/test_state.py b/tests/test_dispatcher/test_filters/test_state.py index b7f5a5fd..f7ca6d12 100644 --- a/tests/test_dispatcher/test_filters/test_state.py +++ b/tests/test_dispatcher/test_filters/test_state.py @@ -1,5 +1,6 @@ from aiogram.dispatcher.filters.state import StatesGroup + class TestStatesGroup: def test_all_childs(self): diff --git a/tests/test_filters.py b/tests/test_filters.py index f29e1982..90693529 100644 --- a/tests/test_filters.py +++ b/tests/test_filters.py @@ -3,8 +3,8 @@ from typing import Match import pytest -from aiogram.dispatcher.filters import Text, CommandStart -from aiogram.types import Message, CallbackQuery, InlineQuery, Poll +from aiogram.dispatcher.filters import CommandStart, Text +from aiogram.types import CallbackQuery, InlineQuery, Message, Poll # enable asyncio mode pytestmark = pytest.mark.asyncio diff --git a/tests/test_message.py b/tests/test_message.py index 32168d57..aa951c85 100644 --- a/tests/test_message.py +++ b/tests/test_message.py @@ -3,7 +3,8 @@ from asyncio import BaseEventLoop import pytest from aiogram import Bot, types -from . import FakeTelegram, TOKEN + +from . import TOKEN, FakeTelegram pytestmark = pytest.mark.asyncio diff --git a/tests/test_states_group.py b/tests/test_states_group.py index 8593cea3..47e49ce1 100644 --- a/tests/test_states_group.py +++ b/tests/test_states_group.py @@ -1,6 +1,7 @@ import pytest -from aiogram.dispatcher.filters.state import State, StatesGroup, any_state, default_state +from aiogram.dispatcher.filters.state import (State, StatesGroup, any_state, + default_state) class MyGroup(StatesGroup): diff --git a/tests/test_utils/test_auth_widget.py b/tests/test_utils/test_auth_widget.py index 8c6f5941..0f9d3542 100644 --- a/tests/test_utils/test_auth_widget.py +++ b/tests/test_utils/test_auth_widget.py @@ -1,7 +1,7 @@ import pytest -from aiogram.utils.auth_widget import check_integrity, \ - generate_hash, check_token +from aiogram.utils.auth_widget import (check_integrity, check_token, + generate_hash) TOKEN = '123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11' diff --git a/tests/test_utils/test_deep_linking.py b/tests/test_utils/test_deep_linking.py index a1d01e4e..18ec0235 100644 --- a/tests/test_utils/test_deep_linking.py +++ b/tests/test_utils/test_deep_linking.py @@ -1,7 +1,8 @@ import pytest -from aiogram.utils.deep_linking import decode_payload, encode_payload, filter_payload -from aiogram.utils.deep_linking import get_start_link, get_startgroup_link +from aiogram.utils.deep_linking import (decode_payload, encode_payload, + filter_payload, get_start_link, + get_startgroup_link) from tests.types import dataset # enable asyncio mode diff --git a/tests/test_utils/test_helper.py b/tests/test_utils/test_helper.py index d202d289..f90dacf1 100644 --- a/tests/test_utils/test_helper.py +++ b/tests/test_utils/test_helper.py @@ -1,4 +1,4 @@ -from aiogram.utils.helper import OrderedHelper, Item, ListItem +from aiogram.utils.helper import Item, ListItem, OrderedHelper class TestOrderedHelper: diff --git a/tests/types/test_animation.py b/tests/types/test_animation.py index 96b44174..29adeab4 100644 --- a/tests/types/test_animation.py +++ b/tests/types/test_animation.py @@ -1,4 +1,5 @@ from aiogram import types + from .dataset import ANIMATION animation = types.Animation(**ANIMATION) diff --git a/tests/types/test_chat.py b/tests/types/test_chat.py index 1caa228d..a8b50764 100644 --- a/tests/types/test_chat.py +++ b/tests/types/test_chat.py @@ -1,4 +1,5 @@ from aiogram import types + from .dataset import CHAT chat = types.Chat(**CHAT) diff --git a/tests/types/test_chat_member.py b/tests/types/test_chat_member.py index 2cea44ce..8e8d2cfe 100644 --- a/tests/types/test_chat_member.py +++ b/tests/types/test_chat_member.py @@ -1,4 +1,5 @@ from aiogram import types + from .dataset import CHAT_MEMBER chat_member = types.ChatMember(**CHAT_MEMBER) diff --git a/tests/types/test_document.py b/tests/types/test_document.py index 64b53360..eb353ae6 100644 --- a/tests/types/test_document.py +++ b/tests/types/test_document.py @@ -1,4 +1,5 @@ from aiogram import types + from .dataset import DOCUMENT document = types.Document(**DOCUMENT) diff --git a/tests/types/test_game.py b/tests/types/test_game.py index 9a051160..8350d858 100644 --- a/tests/types/test_game.py +++ b/tests/types/test_game.py @@ -1,4 +1,5 @@ from aiogram import types + from .dataset import GAME game = types.Game(**GAME) diff --git a/tests/types/test_input_media.py b/tests/types/test_input_media.py index 953197c9..f867e1f6 100644 --- a/tests/types/test_input_media.py +++ b/tests/types/test_input_media.py @@ -1,7 +1,6 @@ from aiogram import types -from .dataset import AUDIO, ANIMATION, \ - DOCUMENT, PHOTO, VIDEO +from .dataset import ANIMATION, AUDIO, DOCUMENT, PHOTO, VIDEO WIDTH = 'width' HEIGHT = 'height' diff --git a/tests/types/test_message.py b/tests/types/test_message.py index 8751d064..d68650ac 100644 --- a/tests/types/test_message.py +++ b/tests/types/test_message.py @@ -1,6 +1,7 @@ import datetime from aiogram import types + from .dataset import MESSAGE message = types.Message(**MESSAGE) diff --git a/tests/types/test_photo.py b/tests/types/test_photo.py index 73d87fb7..d81a13a4 100644 --- a/tests/types/test_photo.py +++ b/tests/types/test_photo.py @@ -1,4 +1,5 @@ from aiogram import types + from .dataset import PHOTO photo = types.PhotoSize(**PHOTO) diff --git a/tests/types/test_reply_keyboard.py b/tests/types/test_reply_keyboard.py index ae0b6d9e..ee6da29c 100644 --- a/tests/types/test_reply_keyboard.py +++ b/tests/types/test_reply_keyboard.py @@ -1,4 +1,5 @@ from aiogram import types + from .dataset import REPLY_KEYBOARD_MARKUP reply_keyboard = types.ReplyKeyboardMarkup(**REPLY_KEYBOARD_MARKUP) diff --git a/tests/types/test_update.py b/tests/types/test_update.py index 6b724a23..6309c315 100644 --- a/tests/types/test_update.py +++ b/tests/types/test_update.py @@ -1,4 +1,5 @@ from aiogram import types + from .dataset import UPDATE update = types.Update(**UPDATE) diff --git a/tests/types/test_user.py b/tests/types/test_user.py index 585e6fc0..24b76f58 100644 --- a/tests/types/test_user.py +++ b/tests/types/test_user.py @@ -1,6 +1,7 @@ from babel import Locale from aiogram import types + from .dataset import USER user = types.User(**USER)