From 03c5bfca5f3e1f5e2720d381a9738a5a298cf3f5 Mon Sep 17 00:00:00 2001 From: Alex Root Junior Date: Tue, 25 Jul 2017 01:43:35 +0300 Subject: [PATCH] Use anywhere Helper. --- aiogram/types/chat.py | 37 +++++++++++++++++++-------------- aiogram/types/chat_member.py | 13 ++++++------ aiogram/types/message_entity.py | 26 ++++++++++++----------- 3 files changed, 42 insertions(+), 34 deletions(-) diff --git a/aiogram/types/chat.py b/aiogram/types/chat.py index d2816f29..459a7b70 100644 --- a/aiogram/types/chat.py +++ b/aiogram/types/chat.py @@ -1,5 +1,6 @@ from .base import Deserializable from .chat_photo import ChatPhoto +from ..utils.helper import Helper, HelperMode, Item class Chat(Deserializable): @@ -94,7 +95,7 @@ class Chat(Deserializable): return await self.bot.send_chat_action(self.id, action) -class ChatType: +class ChatType(Helper): """ List of chat types @@ -104,13 +105,15 @@ class ChatType: :key: CHANNEL """ - PRIVATE = 'private' - GROUP = 'group' - SUPER_GROUP = 'supergroup' - CHANNEL = 'channel' + mode = HelperMode.lowercase + + PRIVATE = Item() # private + GROUP = Item() # group + SUPER_GROUP = Item() # supergroup + CHANNEL = Item() # channel -class ChatActions: +class ChatActions(Helper): """ List of chat actions @@ -126,13 +129,15 @@ class ChatActions: :key: UPLOAD_VIDEO_NOTE """ - TYPING = 'typing' - UPLOAD_PHOTO = 'upload_photo' - RECORD_VIDEO = 'record_video' - UPLOAD_VIDEO = 'upload_video' - RECORD_AUDIO = 'record_audio' - UPLOAD_AUDIO = 'upload_audio' - UPLOAD_DOCUMENT = 'upload_document' - FIND_LOCATION = 'find_location' - RECORD_VIDEO_NOTE = 'record_video_note' - UPLOAD_VIDEO_NOTE = 'upload_video_note' + mode = HelperMode.lower_case + + TYPING = Item() # typing + UPLOAD_PHOTO = Item() # upload_photo + RECORD_VIDEO = Item() # record_video + UPLOAD_VIDEO = Item() # upload_video + RECORD_AUDIO = Item() # record_audio + UPLOAD_AUDIO = Item() # upload_audio + UPLOAD_DOCUMENT = Item() # upload_document + FIND_LOCATION = Item() # find_location + RECORD_VIDEO_NOTE = Item() # record_video_note + UPLOAD_VIDEO_NOTE = Item() # upload_video_note diff --git a/aiogram/types/chat_member.py b/aiogram/types/chat_member.py index 189aaa8b..a8a0d37c 100644 --- a/aiogram/types/chat_member.py +++ b/aiogram/types/chat_member.py @@ -2,6 +2,7 @@ import datetime from .base import Deserializable from .user import User +from ..utils.helper import Helper, Item class ChatMember(Deserializable): @@ -67,12 +68,12 @@ class ChatMember(Deserializable): ) -class ChatMemberStatus: - CREATOR = 'creator' - ADMINISTRATOR = 'administrator' - MEMBER = 'member' - LEFT = 'left' - KICKED = 'kicked' +class ChatMemberStatus(Helper): + CREATOR = Item() # creator + ADMINISTRATOR = Item() # administrator + MEMBER = Item() # member + LEFT = Item() # left + KICKED = Item() # kicked @classmethod def is_admin(cls, role): diff --git a/aiogram/types/message_entity.py b/aiogram/types/message_entity.py index a5fd26a5..83e3b98e 100644 --- a/aiogram/types/message_entity.py +++ b/aiogram/types/message_entity.py @@ -1,6 +1,7 @@ from .base import Deserializable from .user import User from ..utils import markdown +from ..utils.helper import Helper, Item, HelperMode class MessageEntity(Deserializable): @@ -65,7 +66,7 @@ class MessageEntity(Deserializable): return text -class MessageEntityType: +class MessageEntityType(Helper): """ List of entity types @@ -81,15 +82,16 @@ class MessageEntityType: :key: TEXT_LINK :key: TEXT_MENTION """ + mode = HelperMode.lower_case - MENTION = 'mention' # @username - HASHTAG = 'hashtag' - BOT_COMMAND = 'bot_command' - URL = 'url' - EMAIL = 'email' - BOLD = 'bold' # bold text - ITALIC = 'italic' # italic text - CODE = 'code' # monowidth string - PRE = 'pre' # monowidth block - TEXT_LINK = 'text_link' # for clickable text URLs - TEXT_MENTION = 'text_mention' # for users without usernames + MENTION = Item() # mention - @username + HASHTAG = Item() # hashtag + BOT_COMMAND = Item() # bot_command + URL = Item() # url + EMAIL = Item() # email + BOLD = Item() # bold - bold text + ITALIC = Item() # italic - italic text + CODE = Item() # code - monowidth string + PRE = Item() # pre - monowidth block + TEXT_LINK = Item() # text_link - for clickable text URLs + TEXT_MENTION = Item() # text_mention - for users without usernames