Add and use Red-Commons library (#5624)

* update RC dep

* welp 100% tested

* fix import

* 120% tested

* Call _early_init even earlier

Not really in scope of this PR but the original was merged
before I could share any feedback.

* explicitly import getLogger

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
This commit is contained in:
Draper 2022-03-18 22:41:42 +00:00 committed by GitHub
parent 335988c916
commit f763d29fd4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 110 additions and 129 deletions

View File

@ -1,7 +1,3 @@
import asyncio as _asyncio
import logging as _logging
import os as _os
import re
import re as _re import re as _re
import sys as _sys import sys as _sys
import warnings as _warnings import warnings as _warnings
@ -16,7 +12,6 @@ from typing import (
Union as _Union, Union as _Union,
) )
from redbot._log import RedTraceLogger
MIN_PYTHON_VERSION = (3, 8, 1) MIN_PYTHON_VERSION = (3, 8, 1)
@ -27,7 +22,7 @@ __all__ = [
"VersionInfo", "VersionInfo",
"_update_event_loop_policy", "_update_event_loop_policy",
] ]
if _sys.version_info < MIN_PYTHON_VERSION and not _os.getenv("READTHEDOCS", False): if _sys.version_info < MIN_PYTHON_VERSION:
print( print(
f"Python {'.'.join(map(str, MIN_PYTHON_VERSION))} is required to run Red, but you have " f"Python {'.'.join(map(str, MIN_PYTHON_VERSION))} is required to run Red, but you have "
f"{_sys.version}! Please update Python." f"{_sys.version}! Please update Python."
@ -187,11 +182,13 @@ def _update_event_loop_policy():
if _sys.implementation.name == "cpython": if _sys.implementation.name == "cpython":
# Let's not force this dependency, uvloop is much faster on cpython # Let's not force this dependency, uvloop is much faster on cpython
try: try:
import uvloop as _uvloop import uvloop
except ImportError: except ImportError:
pass pass
else: else:
_asyncio.set_event_loop_policy(_uvloop.EventLoopPolicy()) import asyncio
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
def _ensure_no_colorama(): def _ensure_no_colorama():
@ -213,13 +210,17 @@ def _ensure_no_colorama():
def _update_logger_class(): def _update_logger_class():
_logging.setLoggerClass(RedTraceLogger) from red_commons.logging import maybe_update_logger_class
maybe_update_logger_class()
def _early_init(): def _early_init():
# This function replaces logger so we preferrably (though not necessarily) want that to happen
# before importing anything that calls `logging.getLogger()`, i.e. `asyncio`.
_update_logger_class()
_update_event_loop_policy() _update_event_loop_policy()
_ensure_no_colorama() _ensure_no_colorama()
_update_logger_class()
__version__ = "3.5.0.dev1" __version__ = "3.5.0.dev1"
@ -231,7 +232,7 @@ _warnings.filterwarnings("ignore", module=r"fuzzywuzzy.*")
_warnings.filterwarnings("default", category=DeprecationWarning) _warnings.filterwarnings("default", category=DeprecationWarning)
# TODO: Rearrange cli flags here and use the value instead of this monkeypatch # TODO: Rearrange cli flags here and use the value instead of this monkeypatch
if not any(re.match("^-(-debug|d+|-verbose|v+)$", i) for i in _sys.argv): if not any(_re.match("^-(-debug|d+|-verbose|v+)$", i) for i in _sys.argv):
# DEP-WARN # DEP-WARN
# Individual warnings - tracked in https://github.com/Cog-Creators/Red-DiscordBot/issues/3529 # Individual warnings - tracked in https://github.com/Cog-Creators/Red-DiscordBot/issues/3529
# DeprecationWarning: an integer is required (got type float). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python. # DeprecationWarning: an integer is required (got type float). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.

View File

@ -1,4 +1,7 @@
#!/usr/bin/env python from redbot import _early_init
# this needs to be called as early as possible
_early_init()
import asyncio import asyncio
import functools import functools
@ -20,14 +23,8 @@ from typing import NoReturn
import discord import discord
import rich import rich
# Set the event loop policies here so any subsequent `new_event_loop()`
# calls, in particular those as a result of the following imports,
# return the correct loop object.
from redbot import _early_init, __version__
_early_init()
import redbot.logging import redbot.logging
from redbot import __version__
from redbot.core.bot import Red, ExitCodes, _NoOwnerSet from redbot.core.bot import Red, ExitCodes, _NoOwnerSet
from redbot.core.cli import interactive_config, confirm, parse_cli_flags from redbot.core.cli import interactive_config, confirm, parse_cli_flags
from redbot.setup import get_data_dir, get_name, save_config from redbot.setup import get_data_dir, get_name, save_config

View File

@ -1,22 +0,0 @@
import logging as _logging
__ALL__ = ["VERBOSE", "TRACE", "RedTraceLogger"]
VERBOSE = _logging.DEBUG - 3
TRACE = _logging.DEBUG - 5
class RedTraceLogger(_logging.getLoggerClass()):
def __init__(self, name, level=_logging.NOTSET):
super().__init__(name, level)
_logging.addLevelName(VERBOSE, "VERBOSE")
_logging.addLevelName(TRACE, "TRACE")
def verbose(self, msg, *args, **kwargs):
if self.isEnabledFor(VERBOSE):
self._log(VERBOSE, msg, args, **kwargs)
def trace(self, msg, *args, **kwargs):
if self.isEnabledFor(TRACE):
self._log(TRACE, msg, args, **kwargs)

View File

@ -1,6 +1,5 @@
import datetime import datetime
import json import json
import logging
from collections import namedtuple from collections import namedtuple
from dataclasses import dataclass, field from dataclasses import dataclass, field
from pathlib import Path from pathlib import Path
@ -8,6 +7,7 @@ from typing import List, MutableMapping, Optional, Union
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core.bot import Red from redbot.core.bot import Red
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
@ -16,7 +16,7 @@ from redbot.core.utils.chat_formatting import humanize_list
from ..errors import InvalidPlaylistScope, MissingAuthor, MissingGuild from ..errors import InvalidPlaylistScope, MissingAuthor, MissingGuild
from ..utils import PlaylistScope from ..utils import PlaylistScope
log = logging.getLogger("red.cogs.Audio.api.utils") log = getLogger("red.cogs.Audio.api.utils")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,7 +1,6 @@
import asyncio import asyncio
import contextlib import contextlib
import json import json
import logging
from copy import copy from copy import copy
from pathlib import Path from pathlib import Path
@ -9,6 +8,7 @@ from typing import TYPE_CHECKING, Mapping, Optional, Union
import aiohttp import aiohttp
from lavalink.rest_api import LoadResult from lavalink.rest_api import LoadResult
from red_commons.logging import getLogger
from redbot.core import Config from redbot.core import Config
from redbot.core.bot import Red from redbot.core.bot import Red
@ -22,7 +22,7 @@ if TYPE_CHECKING:
_API_URL = "https://api.redbot.app/" _API_URL = "https://api.redbot.app/"
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))
log = logging.getLogger("red.cogs.Audio.api.GlobalDB") log = getLogger("red.cogs.Audio.api.GlobalDB")
class GlobalCacheWrapper: class GlobalCacheWrapper:

View File

@ -2,7 +2,6 @@ import asyncio
import contextlib import contextlib
import datetime import datetime
import json import json
import logging
import random import random
import time import time
@ -13,6 +12,7 @@ from typing import TYPE_CHECKING, Callable, List, MutableMapping, Optional, Tupl
import aiohttp import aiohttp
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from lavalink.rest_api import LoadResult, LoadType from lavalink.rest_api import LoadResult, LoadType
from redbot.core import Config, commands from redbot.core import Config, commands
@ -38,7 +38,7 @@ if TYPE_CHECKING:
from .. import Audio from .. import Audio
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))
log = logging.getLogger("red.cogs.Audio.api.AudioAPIInterface") log = getLogger("red.cogs.Audio.api.AudioAPIInterface")
_TOP_100_US = "https://www.youtube.com/playlist?list=PL4fGSI1pDJn5rWitrRWFKdm-ulaFiIyoK" _TOP_100_US = "https://www.youtube.com/playlist?list=PL4fGSI1pDJn5rWitrRWFKdm-ulaFiIyoK"
# TODO: Get random from global Cache # TODO: Get random from global Cache

View File

@ -1,14 +1,14 @@
import concurrent import concurrent
import contextlib import contextlib
import datetime import datetime
import logging
import random import random
import time import time
from pathlib import Path from pathlib import Path
from types import SimpleNamespace from types import SimpleNamespace
from typing import TYPE_CHECKING, Callable, List, MutableMapping, Optional, Tuple, Union from typing import TYPE_CHECKING, Callable, List, MutableMapping, Optional, Tuple, Union
from red_commons.logging import getLogger
from redbot.core import Config from redbot.core import Config
from redbot.core.bot import Red from redbot.core.bot import Red
from redbot.core.commands import Cog from redbot.core.commands import Cog
@ -59,7 +59,7 @@ if TYPE_CHECKING:
from .. import Audio from .. import Audio
log = logging.getLogger("red.cogs.Audio.api.LocalDB") log = getLogger("red.cogs.Audio.api.LocalDB")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))
_SCHEMA_VERSION = 3 _SCHEMA_VERSION = 3

View File

@ -1,6 +1,5 @@
import concurrent import concurrent
import json import json
import logging
import time import time
from pathlib import Path from pathlib import Path
@ -8,6 +7,7 @@ from types import SimpleNamespace
from typing import TYPE_CHECKING, List, Union from typing import TYPE_CHECKING, List, Union
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core import Config from redbot.core import Config
from redbot.core.bot import Red from redbot.core.bot import Red
@ -33,7 +33,7 @@ from ..sql_statements import (
) )
from .api_utils import QueueFetchResult from .api_utils import QueueFetchResult
log = logging.getLogger("red.cogs.Audio.api.PersistQueueWrapper") log = getLogger("red.cogs.Audio.api.PersistQueueWrapper")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))
if TYPE_CHECKING: if TYPE_CHECKING:

View File

@ -1,10 +1,10 @@
import logging
from pathlib import Path from pathlib import Path
from typing import List, MutableMapping, Optional, Union from typing import List, MutableMapping, Optional, Union
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core import Config, commands from redbot.core import Config, commands
from redbot.core.bot import Red from redbot.core.bot import Red
@ -16,7 +16,7 @@ from ..utils import PlaylistScope
from .api_utils import PlaylistFetchResult, prepare_config_scope, standardize_scope from .api_utils import PlaylistFetchResult, prepare_config_scope, standardize_scope
from .playlist_wrapper import PlaylistWrapper from .playlist_wrapper import PlaylistWrapper
log = logging.getLogger("red.cogs.Audio.api.PlaylistsInterface") log = getLogger("red.cogs.Audio.api.PlaylistsInterface")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,11 +1,12 @@
import concurrent import concurrent
import json import json
import logging
from pathlib import Path from pathlib import Path
from types import SimpleNamespace from types import SimpleNamespace
from typing import List, MutableMapping, Optional from typing import List, MutableMapping, Optional
from red_commons.logging import getLogger
from redbot.core import Config from redbot.core import Config
from redbot.core.bot import Red from redbot.core.bot import Red
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
@ -33,7 +34,7 @@ from ..sql_statements import (
from ..utils import PlaylistScope from ..utils import PlaylistScope
from .api_utils import PlaylistFetchResult from .api_utils import PlaylistFetchResult
log = logging.getLogger("red.cogs.Audio.api.Playlists") log = getLogger("red.cogs.Audio.api.Playlists")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,13 +1,13 @@
import base64 import base64
import contextlib import contextlib
import json import json
import logging
import time import time
from pathlib import Path from pathlib import Path
from typing import TYPE_CHECKING, List, Mapping, MutableMapping, Optional, Tuple, Union from typing import TYPE_CHECKING, List, Mapping, MutableMapping, Optional, Tuple, Union
import aiohttp import aiohttp
from red_commons.logging import getLogger
from redbot.core import Config from redbot.core import Config
from redbot.core.bot import Red from redbot.core.bot import Red
@ -22,7 +22,7 @@ if TYPE_CHECKING:
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))
log = logging.getLogger("red.cogs.Audio.api.Spotify") log = getLogger("red.cogs.Audio.api.Spotify")
CATEGORY_ENDPOINT = "https://api.spotify.com/v1/browse/categories" CATEGORY_ENDPOINT = "https://api.spotify.com/v1/browse/categories"

View File

@ -1,10 +1,10 @@
import json import json
import logging
from pathlib import Path from pathlib import Path
from typing import TYPE_CHECKING, Mapping, Optional, Union from typing import TYPE_CHECKING, Mapping, Optional, Union
import aiohttp import aiohttp
from red_commons.logging import getLogger
from redbot.core import Config from redbot.core import Config
from redbot.core.bot import Red from redbot.core.bot import Red
@ -16,7 +16,7 @@ from ..errors import YouTubeApiError
if TYPE_CHECKING: if TYPE_CHECKING:
from .. import Audio from .. import Audio
log = logging.getLogger("red.cogs.Audio.api.YouTube") log = getLogger("red.cogs.Audio.api.YouTube")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))
SEARCH_ENDPOINT = "https://www.googleapis.com/youtube/v3/search" SEARCH_ENDPOINT = "https://www.googleapis.com/youtube/v3/search"

View File

@ -1,6 +1,5 @@
import contextlib import contextlib
import glob import glob
import logging
import ntpath import ntpath
import os import os
import posixpath import posixpath
@ -21,6 +20,7 @@ from typing import (
from urllib.parse import urlparse from urllib.parse import urlparse
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
from redbot.core.utils import AsyncIter from redbot.core.utils import AsyncIter
@ -79,7 +79,7 @@ _PARTIALLY_SUPPORTED_VIDEO_EXT: Tuple[str, ...] = (
_PARTIALLY_SUPPORTED_MUSIC_EXT += _PARTIALLY_SUPPORTED_VIDEO_EXT _PARTIALLY_SUPPORTED_MUSIC_EXT += _PARTIALLY_SUPPORTED_VIDEO_EXT
log = logging.getLogger("red.cogs.Audio.audio_dataclasses") log = getLogger("red.cogs.Audio.audio_dataclasses")
class LocalPath: class LocalPath:

View File

@ -1,6 +1,5 @@
import asyncio import asyncio
import contextlib import contextlib
import logging
import os import os
import tarfile import tarfile
from pathlib import Path from pathlib import Path
@ -9,6 +8,7 @@ from typing import Union
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core import bank, commands from redbot.core import bank, commands
from redbot.core.data_manager import cog_data_path from redbot.core.data_manager import cog_data_path
@ -24,7 +24,7 @@ from ...utils import CacheLevel, PlaylistScope, has_internal_server
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass, PlaylistConverter, __version__ from ..cog_utils import CompositeMetaClass, PlaylistConverter, __version__
log = logging.getLogger("red.cogs.Audio.cog.Commands.audioset") log = getLogger("red.cogs.Audio.cog.Commands.audioset")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,6 +1,5 @@
import asyncio import asyncio
import contextlib import contextlib
import logging
import time import time
from pathlib import Path from pathlib import Path
@ -8,6 +7,7 @@ from typing import Optional, Union
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core import commands from redbot.core import commands
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
@ -19,7 +19,7 @@ from redbot.core.utils.predicates import ReactionPredicate
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Commands.player_controller") log = getLogger("red.cogs.Audio.cog.Commands.player_controller")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,11 +1,11 @@
import asyncio import asyncio
import contextlib import contextlib
import logging
import re import re
from pathlib import Path from pathlib import Path
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core import commands from redbot.core import commands
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
@ -17,7 +17,7 @@ from ...equalizer import Equalizer
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Commands.equalizer") log = getLogger("red.cogs.Audio.cog.Commands.equalizer")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,7 +1,7 @@
import logging
from pathlib import Path from pathlib import Path
import discord import discord
from red_commons.logging import getLogger
from redbot.core import commands from redbot.core import commands
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
@ -10,7 +10,7 @@ from redbot.core.utils.chat_formatting import box
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Commands.lavalink_setup") log = getLogger("red.cogs.Audio.cog.Commands.lavalink_setup")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,10 +1,10 @@
import contextlib import contextlib
import logging
import math import math
from pathlib import Path from pathlib import Path
from typing import MutableMapping from typing import MutableMapping
import discord import discord
from red_commons.logging import getLogger
from redbot.core import commands from redbot.core import commands
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
@ -14,7 +14,7 @@ from ...audio_dataclasses import LocalPath, Query
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Commands.local_track") log = getLogger("red.cogs.Audio.cog.Commands.local_track")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,12 +1,12 @@
import datetime import datetime
import heapq import heapq
import logging
import math import math
import random import random
from pathlib import Path from pathlib import Path
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core import commands from redbot.core import commands
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
@ -17,7 +17,7 @@ from redbot.core.utils.menus import DEFAULT_CONTROLS, menu
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Commands.miscellaneous") log = getLogger("red.cogs.Audio.cog.Commands.miscellaneous")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,5 +1,4 @@
import contextlib import contextlib
import logging
import math import math
import time import time
from pathlib import Path from pathlib import Path
@ -8,6 +7,7 @@ from typing import MutableMapping
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from discord.embeds import EmptyEmbed from discord.embeds import EmptyEmbed
from redbot.core import commands from redbot.core import commands
@ -26,7 +26,7 @@ from ...errors import (
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Commands.player") log = getLogger("red.cogs.Audio.cog.Commands.player")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,6 +1,5 @@
import asyncio import asyncio
import json import json
import logging
import math import math
import os import os
import tarfile import tarfile
@ -12,6 +11,7 @@ from typing import cast
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core import commands from redbot.core import commands
from redbot.core.commands import UserInputOptional from redbot.core.commands import UserInputOptional
@ -31,7 +31,7 @@ from ...utils import PlaylistScope
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass, LazyGreedyConverter, PlaylistConverter from ..cog_utils import CompositeMetaClass, LazyGreedyConverter, PlaylistConverter
log = logging.getLogger("red.cogs.Audio.cog.Commands.playlist") log = getLogger("red.cogs.Audio.cog.Commands.playlist")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,6 +1,5 @@
import asyncio import asyncio
import contextlib import contextlib
import logging
import math import math
from pathlib import Path from pathlib import Path
@ -8,6 +7,7 @@ from typing import MutableMapping, Optional
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core import commands from redbot.core import commands
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
@ -25,7 +25,7 @@ from redbot.core.utils.predicates import ReactionPredicate
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Commands.queue") log = getLogger("red.cogs.Audio.cog.Commands.queue")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,4 +1,4 @@
import logging from red_commons.logging import getLogger
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
from .cog import AudioEvents from .cog import AudioEvents
@ -6,7 +6,7 @@ from .dpy import DpyEvents
from .lavalink import LavalinkEvents from .lavalink import LavalinkEvents
from .red import RedEvents from .red import RedEvents
log = logging.getLogger("red.cogs.Audio.cog.Events") log = getLogger("red.cogs.Audio.cog.Events")
class Events(AudioEvents, DpyEvents, LavalinkEvents, RedEvents, metaclass=CompositeMetaClass): class Events(AudioEvents, DpyEvents, LavalinkEvents, RedEvents, metaclass=CompositeMetaClass):

View File

@ -1,6 +1,5 @@
import asyncio import asyncio
import datetime import datetime
import logging
import time import time
from pathlib import Path from pathlib import Path
@ -8,6 +7,7 @@ from typing import Optional
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core import commands from redbot.core import commands
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
@ -17,7 +17,7 @@ from ...utils import PlaylistScope
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Events.audio") log = getLogger("red.cogs.Audio.cog.Events.audio")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,6 +1,5 @@
import asyncio import asyncio
import contextlib import contextlib
import logging
import re import re
from collections import OrderedDict from collections import OrderedDict
@ -9,6 +8,7 @@ from typing import Final, Pattern
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from aiohttp import ClientConnectorError from aiohttp import ClientConnectorError
from discord.ext.commands import CheckFailure from discord.ext.commands import CheckFailure
@ -22,7 +22,7 @@ from ..abc import MixinMeta
from ..cog_utils import HUMANIZED_PERM, CompositeMetaClass from ..cog_utils import HUMANIZED_PERM, CompositeMetaClass
from ...utils import task_callback_trace from ...utils import task_callback_trace
log = logging.getLogger("red.cogs.Audio.cog.Events.dpy") log = getLogger("red.cogs.Audio.cog.Events.dpy")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))
RE_CONVERSION: Final[Pattern] = re.compile('Converting to "(.*)" failed for parameter "(.*)".') RE_CONVERSION: Final[Pattern] = re.compile('Converting to "(.*)" failed for parameter "(.*)".')

View File

@ -1,7 +1,6 @@
import asyncio import asyncio
import contextlib import contextlib
import datetime import datetime
import logging
from pathlib import Path from pathlib import Path
from typing import Dict from typing import Dict
@ -9,6 +8,7 @@ import discord
import lavalink import lavalink
from discord.backoff import ExponentialBackoff from discord.backoff import ExponentialBackoff
from discord.gateway import DiscordWebSocket from discord.gateway import DiscordWebSocket
from red_commons.logging import getLogger
from redbot.core.i18n import Translator, set_contextual_locales_from_guild from redbot.core.i18n import Translator, set_contextual_locales_from_guild
from ...errors import DatabaseError, TrackEnqueueError from ...errors import DatabaseError, TrackEnqueueError
@ -16,8 +16,8 @@ from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
from ...utils import task_callback_trace from ...utils import task_callback_trace
log = logging.getLogger("red.cogs.Audio.cog.Events.lavalink") log = getLogger("red.cogs.Audio.cog.Events.lavalink")
ws_audio_log = logging.getLogger("red.Audio.WS.Audio") ws_audio_log = getLogger("red.Audio.WS.Audio")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,14 +1,15 @@
import asyncio import asyncio
import logging
from pathlib import Path from pathlib import Path
from typing import Literal, Mapping from typing import Literal, Mapping
from red_commons.logging import getLogger
from redbot.core import commands from redbot.core import commands
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Events.red") log = getLogger("red.cogs.Audio.cog.Events.red")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,11 +1,11 @@
import logging from red_commons.logging import getLogger
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
from .lavalink import LavalinkTasks from .lavalink import LavalinkTasks
from .player import PlayerTasks from .player import PlayerTasks
from .startup import StartUpTasks from .startup import StartUpTasks
log = logging.getLogger("red.cogs.Audio.cog.Tasks") log = getLogger("red.cogs.Audio.cog.Tasks")
class Tasks(LavalinkTasks, PlayerTasks, StartUpTasks, metaclass=CompositeMetaClass): class Tasks(LavalinkTasks, PlayerTasks, StartUpTasks, metaclass=CompositeMetaClass):

View File

@ -1,8 +1,8 @@
import asyncio import asyncio
import logging
from pathlib import Path from pathlib import Path
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core import data_manager from redbot.core import data_manager
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
@ -12,7 +12,7 @@ from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
from ...utils import task_callback_debug from ...utils import task_callback_debug
log = logging.getLogger("red.cogs.Audio.cog.Tasks.lavalink") log = getLogger("red.cogs.Audio.cog.Tasks.lavalink")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,11 +1,11 @@
import asyncio import asyncio
import logging
import time import time
from pathlib import Path from pathlib import Path
from typing import Dict from typing import Dict
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
from redbot.core.utils import AsyncIter from redbot.core.utils import AsyncIter
@ -13,7 +13,7 @@ from redbot.core.utils import AsyncIter
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Tasks.player") log = getLogger("red.cogs.Audio.cog.Tasks.player")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,11 +1,11 @@
import asyncio import asyncio
import itertools import itertools
import logging
from pathlib import Path from pathlib import Path
from typing import Optional from typing import Optional
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core.data_manager import cog_data_path from redbot.core.data_manager import cog_data_path
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
@ -19,7 +19,7 @@ from ...utils import task_callback_debug
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import _SCHEMA_VERSION, CompositeMetaClass from ..cog_utils import _SCHEMA_VERSION, CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Tasks.startup") log = getLogger("red.cogs.Audio.cog.Tasks.startup")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,11 +1,11 @@
import asyncio import asyncio
import contextlib import contextlib
import logging
from typing import List from typing import List
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from redbot.core import commands from redbot.core import commands
from redbot.core.utils.chat_formatting import box from redbot.core.utils.chat_formatting import box
@ -14,7 +14,7 @@ from ...equalizer import Equalizer
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Utilities.equalizer") log = getLogger("red.cogs.Audio.cog.Utilities.equalizer")
class EqualizerUtilities(MixinMeta, metaclass=CompositeMetaClass): class EqualizerUtilities(MixinMeta, metaclass=CompositeMetaClass):

View File

@ -1,4 +1,3 @@
import logging
import math import math
import re import re
import time import time
@ -8,6 +7,7 @@ from typing import List, Optional
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from discord.embeds import EmptyEmbed from discord.embeds import EmptyEmbed
from redbot.core import commands from redbot.core import commands
@ -19,7 +19,7 @@ from ...audio_dataclasses import LocalPath, Query
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Utilities.formatting") log = getLogger("red.cogs.Audio.cog.Utilities.formatting")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))
RE_SQUARE = re.compile(r"[\[\]]") RE_SQUARE = re.compile(r"[\[\]]")

View File

@ -1,11 +1,11 @@
import contextlib import contextlib
import logging
from pathlib import Path from pathlib import Path
from typing import List, Union from typing import List, Union
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from fuzzywuzzy import process from fuzzywuzzy import process
from redbot.core import commands from redbot.core import commands
@ -17,7 +17,7 @@ from ...errors import TrackEnqueueError
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Utilities.local_tracks") log = getLogger("red.cogs.Audio.cog.Utilities.local_tracks")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -3,7 +3,6 @@ import contextlib
import datetime import datetime
import functools import functools
import json import json
import logging
import re import re
import struct import struct
from pathlib import Path from pathlib import Path
@ -12,6 +11,7 @@ from typing import Any, Final, Mapping, MutableMapping, Pattern, Union, cast
import discord import discord
import lavalink import lavalink
from discord.embeds import EmptyEmbed from discord.embeds import EmptyEmbed
from red_commons.logging import getLogger
from redbot.core import bank, commands from redbot.core import bank, commands
from redbot.core.commands import Context from redbot.core.commands import Context
@ -24,7 +24,7 @@ from ...utils import PlaylistScope, task_callback_trace
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass, DataReader from ..cog_utils import CompositeMetaClass, DataReader
log = logging.getLogger("red.cogs.Audio.cog.Utilities.miscellaneous") log = getLogger("red.cogs.Audio.cog.Utilities.miscellaneous")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))
_RE_TIME_CONVERTER: Final[Pattern] = re.compile(r"(?:(\d+):)?([0-5]?[0-9]):([0-5][0-9])") _RE_TIME_CONVERTER: Final[Pattern] = re.compile(r"(?:(\d+):)?([0-5]?[0-9]):([0-5][0-9])")
_prefer_lyrics_cache = {} _prefer_lyrics_cache = {}

View File

@ -1,15 +1,15 @@
import logging
import re import re
import struct import struct
from typing import Final, Optional from typing import Final, Optional
import aiohttp import aiohttp
from red_commons.logging import getLogger
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Utilities.Parsing") log = getLogger("red.cogs.Audio.cog.Utilities.Parsing")
STREAM_TITLE: Final[re.Pattern] = re.compile(br"StreamTitle='([^']*)';") STREAM_TITLE: Final[re.Pattern] = re.compile(br"StreamTitle='([^']*)';")

View File

@ -1,4 +1,3 @@
import logging
import time import time
from pathlib import Path from pathlib import Path
@ -7,6 +6,7 @@ from typing import List, Optional, Tuple, Union
import aiohttp import aiohttp
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from discord.embeds import EmptyEmbed from discord.embeds import EmptyEmbed
from redbot.core import commands from redbot.core import commands
@ -20,7 +20,7 @@ from ...utils import Notifier
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Utilities.player") log = getLogger("red.cogs.Audio.cog.Utilities.player")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -2,7 +2,6 @@ import asyncio
import contextlib import contextlib
import datetime import datetime
import json import json
import logging
import math import math
import random import random
import time import time
@ -14,6 +13,7 @@ import aiohttp
import discord import discord
import lavalink import lavalink
from discord.embeds import EmptyEmbed from discord.embeds import EmptyEmbed
from red_commons.logging import getLogger
from redbot.core import commands from redbot.core import commands
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
@ -29,7 +29,7 @@ from ...utils import Notifier, PlaylistScope
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Utilities.playlists") log = getLogger("red.cogs.Audio.cog.Utilities.playlists")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))
CURRATED_DATA = ( CURRATED_DATA = (
"https://gist.githubusercontent.com/aikaterna/4b5de6c420cd6f12b83cb895ca2de16a/raw/json" "https://gist.githubusercontent.com/aikaterna/4b5de6c420cd6f12b83cb895ca2de16a/raw/json"

View File

@ -1,4 +1,3 @@
import logging
import math import math
from pathlib import Path from pathlib import Path
@ -6,6 +5,7 @@ from typing import List, Tuple
import discord import discord
import lavalink import lavalink
from red_commons.logging import getLogger
from fuzzywuzzy import process from fuzzywuzzy import process
from redbot.core import commands from redbot.core import commands
@ -17,7 +17,7 @@ from ...audio_dataclasses import LocalPath, Query
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Utilities.queue") log = getLogger("red.cogs.Audio.cog.Utilities.queue")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -1,10 +1,10 @@
import logging
import re import re
from typing import Final, List, Optional, Pattern, Set, Union from typing import Final, List, Optional, Pattern, Set, Union
from urllib.parse import urlparse from urllib.parse import urlparse
import discord import discord
from red_commons.logging import getLogger
from redbot.core import Config from redbot.core import Config
from redbot.core.commands import Context from redbot.core.commands import Context
@ -13,7 +13,7 @@ from ...audio_dataclasses import Query
from ..abc import MixinMeta from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Utilities.validation") log = getLogger("red.cogs.Audio.cog.Utilities.validation")
_RE_YT_LIST_PLAYLIST: Final[Pattern] = re.compile( _RE_YT_LIST_PLAYLIST: Final[Pattern] = re.compile(
r"^(https?://)?(www\.)?(youtube\.com|youtu\.?be)(/playlist\?).*(list=)(.*)(&|$)" r"^(https?://)?(www\.)?(youtube\.com|youtu\.?be)(/playlist\?).*(list=)(.*)(&|$)"

View File

@ -2,7 +2,6 @@ import asyncio
import asyncio.subprocess # disables for # https://github.com/PyCQA/pylint/issues/1469 import asyncio.subprocess # disables for # https://github.com/PyCQA/pylint/issues/1469
import itertools import itertools
import json import json
import logging
import pathlib import pathlib
import platform import platform
import re import re
@ -13,6 +12,7 @@ from typing import ClassVar, Final, List, Optional, Pattern, Tuple
import aiohttp import aiohttp
import rich.progress import rich.progress
from red_commons.logging import getLogger
from redbot.core import data_manager from redbot.core import data_manager
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
@ -21,7 +21,7 @@ from .errors import LavalinkDownloadFailed
from .utils import task_callback_exception from .utils import task_callback_exception
_ = Translator("Audio", pathlib.Path(__file__)) _ = Translator("Audio", pathlib.Path(__file__))
log = logging.getLogger("red.Audio.manager") log = getLogger("red.Audio.manager")
JAR_VERSION: Final[str] = "3.4.0" JAR_VERSION: Final[str] = "3.4.0"
JAR_BUILD: Final[int] = 1275 JAR_BUILD: Final[int] = 1275
LAVALINK_DOWNLOAD_URL: Final[str] = ( LAVALINK_DOWNLOAD_URL: Final[str] = (

View File

@ -1,6 +1,5 @@
import asyncio import asyncio
import contextlib import contextlib
import logging
import time import time
from enum import Enum, unique from enum import Enum, unique
@ -8,11 +7,12 @@ from pathlib import Path
from typing import MutableMapping from typing import MutableMapping
import discord import discord
from red_commons.logging import getLogger
from redbot.core import commands from redbot.core import commands
from redbot.core.i18n import Translator from redbot.core.i18n import Translator
log = logging.getLogger("red.cogs.Audio.task.callback") log = getLogger("red.cogs.Audio.task.callback")
_ = Translator("Audio", Path(__file__)) _ = Translator("Audio", Path(__file__))

View File

@ -35,8 +35,9 @@ import pkg_resources
from fuzzywuzzy import fuzz, process from fuzzywuzzy import fuzz, process
from rich.progress import ProgressColumn from rich.progress import ProgressColumn
from rich.progress_bar import ProgressBar from rich.progress_bar import ProgressBar
from red_commons.logging import VERBOSE, TRACE
from redbot import VersionInfo, _log from redbot import VersionInfo
from redbot.core import data_manager from redbot.core import data_manager
from redbot.core.utils.chat_formatting import box from redbot.core.utils.chat_formatting import box
@ -366,7 +367,7 @@ def cli_level_to_log_level(level: int) -> int:
elif level == 1: elif level == 1:
log_level = logging.DEBUG log_level = logging.DEBUG
elif level == 2: elif level == 2:
log_level = _log.VERBOSE log_level = VERBOSE
else: else:
log_level = _log.TRACE log_level = TRACE
return log_level return log_level

View File

@ -1,4 +1,8 @@
#!/usr/bin/env python3 from redbot import _early_init
# this needs to be called as early as possible
_early_init()
import asyncio import asyncio
import json import json
import logging import logging
@ -9,10 +13,6 @@ from copy import deepcopy
from pathlib import Path from pathlib import Path
from typing import Dict, Any, Optional, Union from typing import Dict, Any, Optional, Union
from redbot import _early_init
_early_init()
import appdirs import appdirs
import click import click

View File

@ -66,6 +66,7 @@ install_requires =
python-Levenshtein-wheels==0.13.2 python-Levenshtein-wheels==0.13.2
pytz==2021.1 pytz==2021.1
PyYAML==5.4.1 PyYAML==5.4.1
Red-Commons==1.0.0
Red-Lavalink==0.9.0 Red-Lavalink==0.9.0
rich==10.9.0 rich==10.9.0
schema==0.7.4 schema==0.7.4

View File

@ -22,6 +22,7 @@ install_requires =
python-dateutil python-dateutil
python-Levenshtein-wheels python-Levenshtein-wheels
PyYAML PyYAML
Red-Commons
Red-Lavalink Red-Lavalink
rich rich
schema schema