Skip to content

Commit

Permalink
boolean setting filter, split filters into own files
Browse files Browse the repository at this point in the history
  • Loading branch information
haliphax committed Jan 4, 2024
1 parent 1cf772e commit 491ffd2
Show file tree
Hide file tree
Showing 7 changed files with 343 additions and 268 deletions.
268 changes: 0 additions & 268 deletions aethersprite/filters.py

This file was deleted.

15 changes: 15 additions & 0 deletions aethersprite/filters/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""Setting filters module"""

from .boolean_filter import BooleanFilter
from .channel_filter import ChannelFilter
from .role_filter import RoleFilter
from .seconds_filter import SecondsFilter
from .setting_filter import SettingFilter

__all__ = (
"BooleanFilter",
"ChannelFilter",
"RoleFilter",
"SecondsFilter",
"SettingFilter",
)
50 changes: 50 additions & 0 deletions aethersprite/filters/boolean_filter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
"""Boolean setting filter"""

# 3rd party
from discord.ext.commands import Context

# local
from .setting_filter import SettingFilter


class BooleanFilter(SettingFilter):

"""Filter used for converting strings to boolean values"""

def __init__(self, setting: str):
super().__init__(setting)

def in_(self, ctx: Context, value: str | None) -> bool | None:
"""
Filter setting input.
Args:
ctx: The current context
value: The incoming value
Returns:
The raw setting value (a boolean)
"""

if not value:
return

return bool(value)

def out(
self,
ctx: Context,
value: bool | None,
) -> bool | None:
"""
Filter setting output.
Args:
ctx: The current context
value: The raw setting value (a boolean)
Returns:
The raw setting value
"""

return value
Loading

0 comments on commit 491ffd2

Please sign in to comment.