mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-21 18:27:59 -05:00
Guard module-level creation of Config objects (#2449)
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
This commit is contained in:
@@ -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)))
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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"""
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user