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 sys as _sys
import warnings as _warnings
@ -16,7 +12,6 @@ from typing import (
Union as _Union,
)
from redbot._log import RedTraceLogger
MIN_PYTHON_VERSION = (3, 8, 1)
@ -27,7 +22,7 @@ __all__ = [
"VersionInfo",
"_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(
f"Python {'.'.join(map(str, MIN_PYTHON_VERSION))} is required to run Red, but you have "
f"{_sys.version}! Please update Python."
@ -187,11 +182,13 @@ def _update_event_loop_policy():
if _sys.implementation.name == "cpython":
# Let's not force this dependency, uvloop is much faster on cpython
try:
import uvloop as _uvloop
import uvloop
except ImportError:
pass
else:
_asyncio.set_event_loop_policy(_uvloop.EventLoopPolicy())
import asyncio
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
def _ensure_no_colorama():
@ -213,13 +210,17 @@ def _ensure_no_colorama():
def _update_logger_class():
_logging.setLoggerClass(RedTraceLogger)
from red_commons.logging import maybe_update_logger_class
maybe_update_logger_class()
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()
_ensure_no_colorama()
_update_logger_class()
__version__ = "3.5.0.dev1"
@ -231,7 +232,7 @@ _warnings.filterwarnings("ignore", module=r"fuzzywuzzy.*")
_warnings.filterwarnings("default", category=DeprecationWarning)
# 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
# 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.

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 functools
@ -20,14 +23,8 @@ from typing import NoReturn
import discord
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
from redbot import __version__
from redbot.core.bot import Red, ExitCodes, _NoOwnerSet
from redbot.core.cli import interactive_config, confirm, parse_cli_flags
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 json
import logging
from collections import namedtuple
from dataclasses import dataclass, field
from pathlib import Path
@ -8,6 +7,7 @@ from typing import List, MutableMapping, Optional, Union
import discord
import lavalink
from red_commons.logging import getLogger
from redbot.core.bot import Red
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 ..utils import PlaylistScope
log = logging.getLogger("red.cogs.Audio.api.utils")
log = getLogger("red.cogs.Audio.api.utils")
_ = Translator("Audio", Path(__file__))

View File

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

View File

@ -2,7 +2,6 @@ import asyncio
import contextlib
import datetime
import json
import logging
import random
import time
@ -13,6 +12,7 @@ from typing import TYPE_CHECKING, Callable, List, MutableMapping, Optional, Tupl
import aiohttp
import discord
import lavalink
from red_commons.logging import getLogger
from lavalink.rest_api import LoadResult, LoadType
from redbot.core import Config, commands
@ -38,7 +38,7 @@ if TYPE_CHECKING:
from .. import Audio
_ = 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"
# TODO: Get random from global Cache

View File

@ -1,14 +1,14 @@
import concurrent
import contextlib
import datetime
import logging
import random
import time
from pathlib import Path
from types import SimpleNamespace
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.bot import Red
from redbot.core.commands import Cog
@ -59,7 +59,7 @@ if TYPE_CHECKING:
from .. import Audio
log = logging.getLogger("red.cogs.Audio.api.LocalDB")
log = getLogger("red.cogs.Audio.api.LocalDB")
_ = Translator("Audio", Path(__file__))
_SCHEMA_VERSION = 3

View File

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

View File

@ -1,10 +1,10 @@
import logging
from pathlib import Path
from typing import List, MutableMapping, Optional, Union
import discord
import lavalink
from red_commons.logging import getLogger
from redbot.core import Config, commands
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 .playlist_wrapper import PlaylistWrapper
log = logging.getLogger("red.cogs.Audio.api.PlaylistsInterface")
log = getLogger("red.cogs.Audio.api.PlaylistsInterface")
_ = Translator("Audio", Path(__file__))

View File

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

View File

@ -1,13 +1,13 @@
import base64
import contextlib
import json
import logging
import time
from pathlib import Path
from typing import TYPE_CHECKING, List, Mapping, MutableMapping, Optional, Tuple, Union
import aiohttp
from red_commons.logging import getLogger
from redbot.core import Config
from redbot.core.bot import Red
@ -22,7 +22,7 @@ if TYPE_CHECKING:
_ = 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"

View File

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

View File

@ -1,6 +1,5 @@
import contextlib
import glob
import logging
import ntpath
import os
import posixpath
@ -21,6 +20,7 @@ from typing import (
from urllib.parse import urlparse
import lavalink
from red_commons.logging import getLogger
from redbot.core.i18n import Translator
from redbot.core.utils import AsyncIter
@ -79,7 +79,7 @@ _PARTIALLY_SUPPORTED_VIDEO_EXT: Tuple[str, ...] = (
_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:

View File

@ -1,6 +1,5 @@
import asyncio
import contextlib
import logging
import os
import tarfile
from pathlib import Path
@ -9,6 +8,7 @@ from typing import Union
import discord
import lavalink
from red_commons.logging import getLogger
from redbot.core import bank, commands
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 ..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__))

View File

@ -1,6 +1,5 @@
import asyncio
import contextlib
import logging
import time
from pathlib import Path
@ -8,6 +7,7 @@ from typing import Optional, Union
import discord
import lavalink
from red_commons.logging import getLogger
from redbot.core import commands
from redbot.core.i18n import Translator
@ -19,7 +19,7 @@ from redbot.core.utils.predicates import ReactionPredicate
from ..abc import MixinMeta
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__))

View File

@ -1,11 +1,11 @@
import asyncio
import contextlib
import logging
import re
from pathlib import Path
import discord
import lavalink
from red_commons.logging import getLogger
from redbot.core import commands
from redbot.core.i18n import Translator
@ -17,7 +17,7 @@ from ...equalizer import Equalizer
from ..abc import MixinMeta
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__))

View File

@ -1,7 +1,7 @@
import logging
from pathlib import Path
import discord
from red_commons.logging import getLogger
from redbot.core import commands
from redbot.core.i18n import Translator
@ -10,7 +10,7 @@ from redbot.core.utils.chat_formatting import box
from ..abc import MixinMeta
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__))

View File

@ -1,10 +1,10 @@
import contextlib
import logging
import math
from pathlib import Path
from typing import MutableMapping
import discord
from red_commons.logging import getLogger
from redbot.core import commands
from redbot.core.i18n import Translator
@ -14,7 +14,7 @@ from ...audio_dataclasses import LocalPath, Query
from ..abc import MixinMeta
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__))

View File

@ -1,12 +1,12 @@
import datetime
import heapq
import logging
import math
import random
from pathlib import Path
import discord
import lavalink
from red_commons.logging import getLogger
from redbot.core import commands
from redbot.core.i18n import Translator
@ -17,7 +17,7 @@ from redbot.core.utils.menus import DEFAULT_CONTROLS, menu
from ..abc import MixinMeta
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__))

View File

@ -1,5 +1,4 @@
import contextlib
import logging
import math
import time
from pathlib import Path
@ -8,6 +7,7 @@ from typing import MutableMapping
import discord
import lavalink
from red_commons.logging import getLogger
from discord.embeds import EmptyEmbed
from redbot.core import commands
@ -26,7 +26,7 @@ from ...errors import (
from ..abc import MixinMeta
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__))

View File

@ -1,6 +1,5 @@
import asyncio
import json
import logging
import math
import os
import tarfile
@ -12,6 +11,7 @@ from typing import cast
import discord
import lavalink
from red_commons.logging import getLogger
from redbot.core import commands
from redbot.core.commands import UserInputOptional
@ -31,7 +31,7 @@ from ...utils import PlaylistScope
from ..abc import MixinMeta
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__))

View File

@ -1,6 +1,5 @@
import asyncio
import contextlib
import logging
import math
from pathlib import Path
@ -8,6 +7,7 @@ from typing import MutableMapping, Optional
import discord
import lavalink
from red_commons.logging import getLogger
from redbot.core import commands
from redbot.core.i18n import Translator
@ -25,7 +25,7 @@ from redbot.core.utils.predicates import ReactionPredicate
from ..abc import MixinMeta
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__))

View File

@ -1,4 +1,4 @@
import logging
from red_commons.logging import getLogger
from ..cog_utils import CompositeMetaClass
from .cog import AudioEvents
@ -6,7 +6,7 @@ from .dpy import DpyEvents
from .lavalink import LavalinkEvents
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):

View File

@ -1,6 +1,5 @@
import asyncio
import datetime
import logging
import time
from pathlib import Path
@ -8,6 +7,7 @@ from typing import Optional
import discord
import lavalink
from red_commons.logging import getLogger
from redbot.core import commands
from redbot.core.i18n import Translator
@ -17,7 +17,7 @@ from ...utils import PlaylistScope
from ..abc import MixinMeta
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__))

View File

@ -1,6 +1,5 @@
import asyncio
import contextlib
import logging
import re
from collections import OrderedDict
@ -9,6 +8,7 @@ from typing import Final, Pattern
import discord
import lavalink
from red_commons.logging import getLogger
from aiohttp import ClientConnectorError
from discord.ext.commands import CheckFailure
@ -22,7 +22,7 @@ from ..abc import MixinMeta
from ..cog_utils import HUMANIZED_PERM, CompositeMetaClass
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__))
RE_CONVERSION: Final[Pattern] = re.compile('Converting to "(.*)" failed for parameter "(.*)".')

View File

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

View File

@ -1,14 +1,15 @@
import asyncio
import logging
from pathlib import Path
from typing import Literal, Mapping
from red_commons.logging import getLogger
from redbot.core import commands
from redbot.core.i18n import Translator
from ..abc import MixinMeta
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__))

View File

@ -1,11 +1,11 @@
import logging
from red_commons.logging import getLogger
from ..cog_utils import CompositeMetaClass
from .lavalink import LavalinkTasks
from .player import PlayerTasks
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):

View File

@ -1,8 +1,8 @@
import asyncio
import logging
from pathlib import Path
import lavalink
from red_commons.logging import getLogger
from redbot.core import data_manager
from redbot.core.i18n import Translator
@ -12,7 +12,7 @@ from ..abc import MixinMeta
from ..cog_utils import CompositeMetaClass
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__))

View File

@ -1,11 +1,11 @@
import asyncio
import logging
import time
from pathlib import Path
from typing import Dict
import lavalink
from red_commons.logging import getLogger
from redbot.core.i18n import Translator
from redbot.core.utils import AsyncIter
@ -13,7 +13,7 @@ from redbot.core.utils import AsyncIter
from ..abc import MixinMeta
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__))

View File

@ -1,11 +1,11 @@
import asyncio
import itertools
import logging
from pathlib import Path
from typing import Optional
import lavalink
from red_commons.logging import getLogger
from redbot.core.data_manager import cog_data_path
from redbot.core.i18n import Translator
@ -19,7 +19,7 @@ from ...utils import task_callback_debug
from ..abc import MixinMeta
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__))

View File

@ -1,11 +1,11 @@
import asyncio
import contextlib
import logging
from typing import List
import discord
import lavalink
from red_commons.logging import getLogger
from redbot.core import commands
from redbot.core.utils.chat_formatting import box
@ -14,7 +14,7 @@ from ...equalizer import Equalizer
from ..abc import MixinMeta
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):

View File

@ -1,4 +1,3 @@
import logging
import math
import re
import time
@ -8,6 +7,7 @@ from typing import List, Optional
import discord
import lavalink
from red_commons.logging import getLogger
from discord.embeds import EmptyEmbed
from redbot.core import commands
@ -19,7 +19,7 @@ from ...audio_dataclasses import LocalPath, Query
from ..abc import MixinMeta
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__))
RE_SQUARE = re.compile(r"[\[\]]")

View File

@ -1,11 +1,11 @@
import contextlib
import logging
from pathlib import Path
from typing import List, Union
import discord
import lavalink
from red_commons.logging import getLogger
from fuzzywuzzy import process
from redbot.core import commands
@ -17,7 +17,7 @@ from ...errors import TrackEnqueueError
from ..abc import MixinMeta
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__))

View File

@ -3,7 +3,6 @@ import contextlib
import datetime
import functools
import json
import logging
import re
import struct
from pathlib import Path
@ -12,6 +11,7 @@ from typing import Any, Final, Mapping, MutableMapping, Pattern, Union, cast
import discord
import lavalink
from discord.embeds import EmptyEmbed
from red_commons.logging import getLogger
from redbot.core import bank, commands
from redbot.core.commands import Context
@ -24,7 +24,7 @@ from ...utils import PlaylistScope, task_callback_trace
from ..abc import MixinMeta
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__))
_RE_TIME_CONVERTER: Final[Pattern] = re.compile(r"(?:(\d+):)?([0-5]?[0-9]):([0-5][0-9])")
_prefer_lyrics_cache = {}

View File

@ -1,15 +1,15 @@
import logging
import re
import struct
from typing import Final, Optional
import aiohttp
from red_commons.logging import getLogger
from ..abc import MixinMeta
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='([^']*)';")

View File

@ -1,4 +1,3 @@
import logging
import time
from pathlib import Path
@ -7,6 +6,7 @@ from typing import List, Optional, Tuple, Union
import aiohttp
import discord
import lavalink
from red_commons.logging import getLogger
from discord.embeds import EmptyEmbed
from redbot.core import commands
@ -20,7 +20,7 @@ from ...utils import Notifier
from ..abc import MixinMeta
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__))

View File

@ -2,7 +2,6 @@ import asyncio
import contextlib
import datetime
import json
import logging
import math
import random
import time
@ -14,6 +13,7 @@ import aiohttp
import discord
import lavalink
from discord.embeds import EmptyEmbed
from red_commons.logging import getLogger
from redbot.core import commands
from redbot.core.i18n import Translator
@ -29,7 +29,7 @@ from ...utils import Notifier, PlaylistScope
from ..abc import MixinMeta
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__))
CURRATED_DATA = (
"https://gist.githubusercontent.com/aikaterna/4b5de6c420cd6f12b83cb895ca2de16a/raw/json"

View File

@ -1,4 +1,3 @@
import logging
import math
from pathlib import Path
@ -6,6 +5,7 @@ from typing import List, Tuple
import discord
import lavalink
from red_commons.logging import getLogger
from fuzzywuzzy import process
from redbot.core import commands
@ -17,7 +17,7 @@ from ...audio_dataclasses import LocalPath, Query
from ..abc import MixinMeta
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__))

View File

@ -1,10 +1,10 @@
import logging
import re
from typing import Final, List, Optional, Pattern, Set, Union
from urllib.parse import urlparse
import discord
from red_commons.logging import getLogger
from redbot.core import Config
from redbot.core.commands import Context
@ -13,7 +13,7 @@ from ...audio_dataclasses import Query
from ..abc import MixinMeta
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(
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 itertools
import json
import logging
import pathlib
import platform
import re
@ -13,6 +12,7 @@ from typing import ClassVar, Final, List, Optional, Pattern, Tuple
import aiohttp
import rich.progress
from red_commons.logging import getLogger
from redbot.core import data_manager
from redbot.core.i18n import Translator
@ -21,7 +21,7 @@ from .errors import LavalinkDownloadFailed
from .utils import task_callback_exception
_ = Translator("Audio", pathlib.Path(__file__))
log = logging.getLogger("red.Audio.manager")
log = getLogger("red.Audio.manager")
JAR_VERSION: Final[str] = "3.4.0"
JAR_BUILD: Final[int] = 1275
LAVALINK_DOWNLOAD_URL: Final[str] = (

View File

@ -1,6 +1,5 @@
import asyncio
import contextlib
import logging
import time
from enum import Enum, unique
@ -8,11 +7,12 @@ from pathlib import Path
from typing import MutableMapping
import discord
from red_commons.logging import getLogger
from redbot.core import commands
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__))

View File

@ -35,8 +35,9 @@ import pkg_resources
from fuzzywuzzy import fuzz, process
from rich.progress import ProgressColumn
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.utils.chat_formatting import box
@ -366,7 +367,7 @@ def cli_level_to_log_level(level: int) -> int:
elif level == 1:
log_level = logging.DEBUG
elif level == 2:
log_level = _log.VERBOSE
log_level = VERBOSE
else:
log_level = _log.TRACE
log_level = TRACE
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 json
import logging
@ -9,10 +13,6 @@ from copy import deepcopy
from pathlib import Path
from typing import Dict, Any, Optional, Union
from redbot import _early_init
_early_init()
import appdirs
import click

View File

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

View File

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