Skip to content

Commit

Permalink
More correct names for writing styles in HelperMode
Browse files Browse the repository at this point in the history
  • Loading branch information
JrooTJunior committed Aug 15, 2017
1 parent 2346ade commit b65f181
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 21 deletions.
2 changes: 1 addition & 1 deletion aiogram/bot/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ class Methods(Helper):
List is updated to Bot API 3.2
"""
mode = HelperMode.camelCase
mode = HelperMode.lowerCamelCase

# Getting Updates
GET_UPDATES = Item() # getUpdates
Expand Down
2 changes: 1 addition & 1 deletion aiogram/dispatcher/filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ def generate_default_filters(dispatcher, *args, **kwargs):


class DefaultFilters(Helper):
mode = HelperMode.lower_case
mode = HelperMode.snake_case

COMMANDS = Item() # commands
REGEXP = Item() # regexp
Expand Down
2 changes: 1 addition & 1 deletion aiogram/types/chat.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ class ChatActions(Helper):
:key: UPLOAD_VIDEO_NOTE
"""

mode = HelperMode.lower_case
mode = HelperMode.snake_case

TYPING = Item() # typing
UPLOAD_PHOTO = Item() # upload_photo
Expand Down
2 changes: 1 addition & 1 deletion aiogram/types/message.py
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ class ContentType(Helper):
:key: SUCCESSFUL_PAYMENT
:key: UNKNOWN
"""
mode = HelperMode.lower_case
mode = HelperMode.snake_case

TEXT = ListItem() # text
AUDIO = ListItem() # audio
Expand Down
2 changes: 1 addition & 1 deletion aiogram/types/message_entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ class MessageEntityType(Helper):
:key: TEXT_LINK
:key: TEXT_MENTION
"""
mode = HelperMode.lower_case
mode = HelperMode.snake_case

MENTION = Item() # mention - @username
HASHTAG = Item() # hashtag
Expand Down
2 changes: 1 addition & 1 deletion aiogram/types/update.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ class AllowedUpdates(Helper):
Example:
>>> bot.get_updates(allowed_updates=AllowedUpdates.MESSAGE + AllowedUpdates.EDITED_MESSAGE)
"""
mode = HelperMode.lower_case
mode = HelperMode.snake_case

MESSAGE = ListItem() # message
EDITED_MESSAGE = ListItem() # edited_message
Expand Down
40 changes: 25 additions & 15 deletions aiogram/utils/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Example:
>>> from aiogram.utils.helper import Helper, ListItem, HelperMode, Item
>>> class MyHelper(Helper):
... mode = HelperMode.camelCase
... mode = HelperMode.lowerCamelCase
... FOO_ITEM = ListItem()
... BAR_ITEM = ListItem()
... BAZ_ITEM = ListItem()
Expand Down Expand Up @@ -39,16 +39,26 @@ def all(cls):
class HelperMode(Helper):
mode = 'original'

UPPER_CASE = 'upperCase'
camelCase = 'camelCase'
SCREAMING_SNAKE_CASE = 'SCREAMING_SNAKE_CASE'
lowerCamelCase = 'lowerCamelCase'
CamelCase = 'CamelCase'
lower_case = 'lower_case'
snake_case = 'snake_case'
lowercase = 'lowercase'

@classmethod
def _upper_case(cls, text):
def all(cls):
return [
cls.SCREAMING_SNAKE_CASE,
cls.lowerCamelCase,
cls.CamelCase,
cls.snake_case,
cls.lowercase,
]

@classmethod
def _screaming_snake_case(cls, text):
"""
Transform text to UPPER_CASE
Transform text to SCREAMING_SNAKE_CASE
:param text:
:return:
Expand All @@ -64,16 +74,16 @@ def _upper_case(cls, text):
return result

@classmethod
def _lower_case(cls, text):
def _snake_case(cls, text):
"""
Transform text to lower_case (Based on UPPER_CASE)
Transform text to snake cale (Based on SCREAMING_SNAKE_CASE)
:param text:
:return:
"""
if text.islower():
return text
return cls._upper_case(text).lower()
return cls._screaming_snake_case(text).lower()

@classmethod
def _camel_case(cls, text, first_upper=False):
Expand Down Expand Up @@ -108,13 +118,13 @@ def apply(cls, text, mode):
:param mode:
:return:
"""
if mode == cls.UPPER_CASE:
return cls._upper_case(text)
elif mode == cls.lower_case:
return cls._lower_case(text)
if mode == cls.SCREAMING_SNAKE_CASE:
return cls._screaming_snake_case(text)
elif mode == cls.snake_case:
return cls._snake_case(text)
elif mode == cls.lowercase:
return cls._lower_case(text).replace('_', '')
elif mode == cls.camelCase:
return cls._snake_case(text).replace('_', '')
elif mode == cls.lowerCamelCase:
return cls._camel_case(text)
elif mode == cls.CamelCase:
return cls._camel_case(text, True)
Expand Down

0 comments on commit b65f181

Please sign in to comment.