aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar MarkKoz <[email protected]>2020-10-16 12:14:19 -0700
committerGravatar MarkKoz <[email protected]>2020-11-20 15:53:34 -0800
commit0cc221a6169bd12ddcc605eb02f2785716d2446e (patch)
tree7eee7e9ae81911f2815df78c11910e25db4b9edc
parentHelp channels: move name and channel funcs to separate modules (diff)
Help channels: move validation code to __init__.py
-rw-r--r--bot/exts/help_channels/__init__.py32
-rw-r--r--bot/exts/help_channels/_cog.py24
2 files changed, 29 insertions, 27 deletions
diff --git a/bot/exts/help_channels/__init__.py b/bot/exts/help_channels/__init__.py
index 38444b707..6ed94ebda 100644
--- a/bot/exts/help_channels/__init__.py
+++ b/bot/exts/help_channels/__init__.py
@@ -1,17 +1,41 @@
import logging
+from bot import constants
from bot.bot import Bot
+from bot.exts.help_channels._channels import MAX_CHANNELS_PER_CATEGORY
log = logging.getLogger(__name__)
+def validate_config() -> None:
+ """Raise a ValueError if the cog's config is invalid."""
+ log.trace("Validating config.")
+ total = constants.HelpChannels.max_total_channels
+ available = constants.HelpChannels.max_available
+
+ if total == 0 or available == 0:
+ raise ValueError("max_total_channels and max_available and must be greater than 0.")
+
+ if total < available:
+ raise ValueError(
+ f"max_total_channels ({total}) must be greater than or equal to max_available "
+ f"({available})."
+ )
+
+ if total > MAX_CHANNELS_PER_CATEGORY:
+ raise ValueError(
+ f"max_total_channels ({total}) must be less than or equal to "
+ f"{MAX_CHANNELS_PER_CATEGORY} due to Discord's limit on channels per category."
+ )
+
+
def setup(bot: Bot) -> None:
"""Load the HelpChannels cog."""
- # Defer import to reduce side effects from importing the sync package.
- from bot.exts.help_channels import _cog
+ # Defer import to reduce side effects from importing the help_channels package.
+ from bot.exts.help_channels._cog import HelpChannels
try:
- _cog.validate_config()
+ validate_config()
except ValueError as e:
log.error(f"HelpChannels cog will not be loaded due to misconfiguration: {e}")
else:
- bot.add_cog(_cog.HelpChannels(bot))
+ bot.add_cog(HelpChannels(bot))
diff --git a/bot/exts/help_channels/_cog.py b/bot/exts/help_channels/_cog.py
index 1db597e6c..d8fb3b830 100644
--- a/bot/exts/help_channels/_cog.py
+++ b/bot/exts/help_channels/_cog.py
@@ -12,7 +12,7 @@ from discord.ext import commands
from bot import constants
from bot.bot import Bot
from bot.exts.help_channels import _channels
-from bot.exts.help_channels._names import MAX_CHANNELS_PER_CATEGORY, create_name_queue
+from bot.exts.help_channels._names import create_name_queue
from bot.utils import channel as channel_utils
from bot.utils.scheduling import Scheduler
@@ -826,25 +826,3 @@ class HelpChannels(commands.Cog):
self.queue_tasks.remove(task)
return channel
-
-
-def validate_config() -> None:
- """Raise a ValueError if the cog's config is invalid."""
- log.trace("Validating config.")
- total = constants.HelpChannels.max_total_channels
- available = constants.HelpChannels.max_available
-
- if total == 0 or available == 0:
- raise ValueError("max_total_channels and max_available and must be greater than 0.")
-
- if total < available:
- raise ValueError(
- f"max_total_channels ({total}) must be greater than or equal to max_available "
- f"({available})."
- )
-
- if total > MAX_CHANNELS_PER_CATEGORY:
- raise ValueError(
- f"max_total_channels ({total}) must be less than or equal to "
- f"{MAX_CHANNELS_PER_CATEGORY} due to Discord's limit on channels per category."
- )