diff --git a/redbot/__main__.py b/redbot/__main__.py index 891c0f161..c73bd5cb4 100644 --- a/redbot/__main__.py +++ b/redbot/__main__.py @@ -13,7 +13,7 @@ from redbot.core.events import init_events from redbot.core.cli import interactive_config, confirm, parse_cli_flags from redbot.core.core_commands import Core from redbot.core.dev_commands import Dev -from redbot.core import __version__ +from redbot.core import modlog, bank from signal import SIGTERM import asyncio import logging.handlers @@ -139,6 +139,10 @@ def main(): red.add_cog(CogManagerUI()) if cli_flags.dev: red.add_cog(Dev()) + # noinspection PyProtectedMember + modlog._init() + # noinspection PyProtectedMember + bank._init() loop = asyncio.get_event_loop() if os.name == "posix": loop.add_signal_handler(SIGTERM, lambda: asyncio.ensure_future(sigterm_handler(red, log))) diff --git a/redbot/core/bank.py b/redbot/core/bank.py index 27b2866e2..442af8026 100644 --- a/redbot/core/bank.py +++ b/redbot/core/bank.py @@ -1,5 +1,4 @@ import datetime -import os from typing import Union, List, Optional import discord @@ -42,6 +41,17 @@ _DEFAULT_MEMBER = {"name": "", "balance": 0, "created_at": 0} _DEFAULT_USER = _DEFAULT_MEMBER +_conf: Config = None + + +def _init(): + global _conf + _conf = Config.get_conf(None, 384734293238749, cog_name="Bank", force_registration=True) + _conf.register_global(**_DEFAULT_GLOBAL) + _conf.register_guild(**_DEFAULT_GUILD) + _conf.register_member(**_DEFAULT_MEMBER) + _conf.register_user(**_DEFAULT_USER) + class Account: """A single account. @@ -54,18 +64,6 @@ class Account: self.created_at = created_at -def _register_defaults(): - _conf.register_global(**_DEFAULT_GLOBAL) - _conf.register_guild(**_DEFAULT_GUILD) - _conf.register_member(**_DEFAULT_MEMBER) - _conf.register_user(**_DEFAULT_USER) - - -if not os.environ.get("BUILDING_DOCS"): - _conf = Config.get_conf(None, 384734293238749, cog_name="Bank", force_registration=True) - _register_defaults() - - def _encoded_current_time() -> int: """Get the current UTC time as a timestamp. diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index 9cbb31ad8..95104f209 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -1,4 +1,3 @@ -import os from datetime import datetime from typing import List, Union @@ -29,17 +28,16 @@ _DEFAULT_GLOBAL = {"casetypes": {}} _DEFAULT_GUILD = {"mod_log": None, "cases": {}, "casetypes": {}} +_conf: Config = None -def _register_defaults(): + +def _init(): + global _conf + _conf = Config.get_conf(None, 1354799444, cog_name="ModLog") _conf.register_global(**_DEFAULT_GLOBAL) _conf.register_guild(**_DEFAULT_GUILD) -if not os.environ.get("BUILDING_DOCS"): - _conf = Config.get_conf(None, 1354799444, cog_name="ModLog") - _register_defaults() - - class Case: """A single mod log case""" diff --git a/redbot/pytest/economy.py b/redbot/pytest/economy.py index 6281184cc..21052cd43 100644 --- a/redbot/pytest/economy.py +++ b/redbot/pytest/economy.py @@ -1,4 +1,5 @@ import pytest +from redbot.core import bank as bank_module __all__ = ["bank"] @@ -9,7 +10,6 @@ def bank(config, monkeypatch): with monkeypatch.context() as m: m.setattr(Config, "get_conf", lambda *args, **kwargs: config) - from redbot.core import bank - - bank._register_defaults() - return bank + # noinspection PyProtectedMember + bank_module._init() + return bank_module diff --git a/redbot/pytest/mod.py b/redbot/pytest/mod.py index 92e5de9c0..30b2fcda3 100644 --- a/redbot/pytest/mod.py +++ b/redbot/pytest/mod.py @@ -1,4 +1,5 @@ import pytest +from redbot.core import modlog __all__ = ["mod"] @@ -9,7 +10,6 @@ def mod(config, monkeypatch): with monkeypatch.context() as m: m.setattr(Config, "get_conf", lambda *args, **kwargs: config) - from redbot.core import modlog - modlog._register_defaults() + modlog._init() return modlog diff --git a/tests/cogs/test_mod.py b/tests/cogs/test_mod.py index d7ced7c79..3cfe13a58 100644 --- a/tests/cogs/test_mod.py +++ b/tests/cogs/test_mod.py @@ -4,7 +4,7 @@ from redbot.pytest.mod import * @pytest.mark.asyncio -async def test_modlog_register_casetype(mod, ctx): +async def test_modlog_register_casetype(mod): ct = { "name": "ban", "default_setting": True, @@ -20,6 +20,9 @@ async def test_modlog_register_casetype(mod, ctx): async def test_modlog_case_create(mod, ctx, member_factory): from datetime import datetime as dt + # Run casetype register test to register casetype in this test too + await test_modlog_register_casetype(mod) + usr = member_factory.get() guild = ctx.guild bot = ctx.bot