diff --git a/bot.py b/bot.py index c07e3a6..f0bdc0e 100644 --- a/bot.py +++ b/bot.py @@ -1,21 +1,24 @@ +# Discord Packages import discord -import codecs -import time -import os -import traceback -import yaml -import aiohttp - from discord.ext import commands + +import codecs +import os +import time +import traceback from argparse import ArgumentParser, RawTextHelpFormatter -from cogs.utils.settingsmanager import Settings -from cogs.utils.localizer import Localizer -from cogs.utils.localizer import LocalizerWrapper + +import aiohttp +import yaml + +# Bot Utilities +from cogs.helpformatter import commandhelper from cogs.utils.alias import Aliaser from cogs.utils.context import Context +from cogs.utils.localizer import Localizer, LocalizerWrapper from cogs.utils.logger import BotLogger -from cogs.helpformatter import commandhelper from cogs.utils.paginator import Scroller +from cogs.utils.settingsmanager import Settings initial_extensions = [ 'cogs.cogs', diff --git a/cogs/cogs.py b/cogs/cogs.py index e07b7cd..4606381 100644 --- a/cogs/cogs.py +++ b/cogs/cogs.py @@ -1,6 +1,8 @@ -import traceback +# Discord Packages from discord.ext import commands +import traceback + class Cogs(commands.Cog): def __init__(self, bot): diff --git a/cogs/helpformatter.py b/cogs/helpformatter.py index 8347125..2f77feb 100644 --- a/cogs/helpformatter.py +++ b/cogs/helpformatter.py @@ -1,9 +1,11 @@ +# Discord Packages from discord.ext import commands + import re +# Bot Utilities from cogs.utils.paginator import HelpPaginator, Scroller - usermention = r"<@!?\d{17,19}>" diff --git a/cogs/misc.py b/cogs/misc.py index 1d600a0..b51707b 100644 --- a/cogs/misc.py +++ b/cogs/misc.py @@ -1,11 +1,14 @@ +# Discord Packages import discord -import time -import platform - from discord.ext import commands -from cogs.utils import bot_version from lavalink import __version__ as LavalinkVersion +import platform +import time + +# Bot Utilities +from cogs.utils import bot_version + class Misc(commands.Cog): def __init__(self, bot): diff --git a/cogs/music.py b/cogs/music.py index 8fb9446..22e8ea7 100644 --- a/cogs/music.py +++ b/cogs/music.py @@ -1,25 +1,25 @@ """ Music commands """ +# Discord Packages +import discord +import lavalink +from discord.ext import commands + +import asyncio +import codecs +import json import math import re -import asyncio -import yaml -import codecs - -import lavalink -import discord -from discord.ext import commands +import urllib from typing import Optional -import urllib -import json +import yaml from bs4 import BeautifulSoup -from .utils import checks, RoxUtils, timeformatter +from .utils import RoxUtils, checks, timeformatter from .utils.mixplayer import MixPlayer -from .utils.paginator import QueuePaginator, TextPaginator, Scroller - +from .utils.paginator import QueuePaginator, Scroller, TextPaginator from .utils.selector import Selector time_rx = re.compile('[0-9]+') diff --git a/cogs/musicevents.py b/cogs/musicevents.py index 5f5ecc9..7110505 100644 --- a/cogs/musicevents.py +++ b/cogs/musicevents.py @@ -2,13 +2,16 @@ A cog to separate events from regular music commands """ -import codecs -import yaml +# Discord Packages import lavalink +import lavalink.events from discord.ext import commands +import codecs + +import yaml + from .utils.mixplayer import MixPlayer -import lavalink.events class MusicEvents(commands.Cog): diff --git a/cogs/settings.py b/cogs/settings.py index a813e08..22c5285 100644 --- a/cogs/settings.py +++ b/cogs/settings.py @@ -1,6 +1,8 @@ +# Discord Packages import discord - from discord.ext import commands + +# Bot Utilities from cogs.utils import checks @@ -188,9 +190,9 @@ class Settings(commands.Cog): embed = discord.Embed(title='Max duration type set to', color=ctx.me.color) if is_dynamic: - embed.description = f'Dynamic' + embed.description = 'Dynamic' else: - embed.description = f'Static' + embed.description = 'Static' await ctx.send(embed=embed) @commands.guild_only() diff --git a/cogs/utils/RoxUtils.py b/cogs/utils/RoxUtils.py index 858e748..cbc88ea 100644 --- a/cogs/utils/RoxUtils.py +++ b/cogs/utils/RoxUtils.py @@ -19,7 +19,7 @@ class ThumbNailer(object): img = soup.find("meta", property="twitter:image") return img["content"] except Exception as e: - self.logger.exception("%s".format(e)) + self.logger.exception("%s" % e) async def _bandcamp(self, url): html = await ThumbNailer.get_html(self, url) @@ -28,7 +28,7 @@ class ThumbNailer(object): img = soup.find(class_="popupImage").get("href") return img except Exception as e: - self.logger.exception("%s".format(e)) + self.logger.exception("%s" % e) async def _vimeo(self, url): html = await ThumbNailer.get_html(self, url) @@ -37,7 +37,7 @@ class ThumbNailer(object): img = soup.find("meta", property="og:image") return img["content"] except Exception as e: - self.logger.exception("%s".format(e)) + self.logger.exception("%s" % e) @staticmethod async def identify(self, identifier, uri): diff --git a/cogs/utils/alias.py b/cogs/utils/alias.py index 21f63eb..d7a0f2a 100644 --- a/cogs/utils/alias.py +++ b/cogs/utils/alias.py @@ -1,9 +1,11 @@ -import yaml +# Discord Packages +from discord.ext import commands from glob import glob from os import path -from discord.ext import commands +import yaml + """ Not the prettiest this, works by replacing any found aliases in a command string with the actual command names. diff --git a/cogs/utils/checks.py b/cogs/utils/checks.py index 3925184..3798eac 100644 --- a/cogs/utils/checks.py +++ b/cogs/utils/checks.py @@ -1,3 +1,4 @@ +# Discord Packages import discord from discord.ext import commands diff --git a/cogs/utils/context.py b/cogs/utils/context.py index 61da689..3dbc92b 100644 --- a/cogs/utils/context.py +++ b/cogs/utils/context.py @@ -1,3 +1,4 @@ +# Discord Packages from discord.ext import commands diff --git a/cogs/utils/localizer.py b/cogs/utils/localizer.py index 8706df1..c3a444e 100644 --- a/cogs/utils/localizer.py +++ b/cogs/utils/localizer.py @@ -1,14 +1,15 @@ +# Discord Packages +from discord import Embed + +import copy +import re from glob import glob from os import path -import re - -from cogs.utils.dict_utils import flatten, SafeDict - import yaml -import copy -from discord import Embed +# Bot Utilities +from cogs.utils.dict_utils import SafeDict, flatten """ Localizer for bot @@ -95,6 +96,7 @@ class Localizer: nstr = nstr.replace(".", "/") value = value.replace(outer, nstr) return value + # parses and interpolates strings @staticmethod def _parse_localization_string(value, d, prefix=None): diff --git a/cogs/utils/logger.py b/cogs/utils/logger.py index 207f7ff..9a921b0 100644 --- a/cogs/utils/logger.py +++ b/cogs/utils/logger.py @@ -1,5 +1,5 @@ -import logging.handlers import logging +import logging.handlers import os diff --git a/cogs/utils/mixplayer.py b/cogs/utils/mixplayer.py index 9d9dae0..f6cf2fa 100644 --- a/cogs/utils/mixplayer.py +++ b/cogs/utils/mixplayer.py @@ -1,12 +1,12 @@ +# Discord Packages import lavalink +from lavalink import AudioTrack, DefaultPlayer, Node +from lavalink.events import QueueEndEvent, TrackEndEvent, TrackExceptionEvent, TrackStartEvent, TrackStuckEvent from collections import OrderedDict, deque -from itertools import cycle, islice, chain +from itertools import chain, cycle, islice from random import shuffle -from lavalink.events import TrackStartEvent, TrackStuckEvent, TrackExceptionEvent, TrackEndEvent, QueueEndEvent -from lavalink import Node, DefaultPlayer, AudioTrack - class MixPlayer(DefaultPlayer): def __init__(self, guild_id: int, node: Node): diff --git a/cogs/utils/paginator.py b/cogs/utils/paginator.py index 4300ff1..70a5bb3 100644 --- a/cogs/utils/paginator.py +++ b/cogs/utils/paginator.py @@ -1,4 +1,6 @@ +# Discord Packages import discord + import asyncio @@ -93,7 +95,7 @@ class FieldPaginator(BasePaginator): field = {"name": name, "value": value} fieldsize = sum([len(val) for _, val in field.items()]) if len(name) > 256 or len(value) > 1024: - raise RuntimeError(f'Maximum field size exceeded, max name length: 256. max value length: 1024.') + raise RuntimeError('Maximum field size exceeded, max name length: 256. max value length: 1024.') if self._current_page_size + fieldsize > self._max_size: self.close_page() diff --git a/cogs/utils/selector.py b/cogs/utils/selector.py index 22fc41c..3e93e60 100644 --- a/cogs/utils/selector.py +++ b/cogs/utils/selector.py @@ -1,6 +1,9 @@ +# Discord Packages import discord + import asyncio import inspect + from .paginator import TextPaginator diff --git a/cogs/utils/settingsmanager.py b/cogs/utils/settingsmanager.py index 2a25a22..f361446 100644 --- a/cogs/utils/settingsmanager.py +++ b/cogs/utils/settingsmanager.py @@ -1,6 +1,7 @@ -import os import codecs import locale as localee +import os + import yaml diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..fce66fb --- /dev/null +++ b/setup.cfg @@ -0,0 +1,14 @@ +[pycodestyle] +max_line_length = 120 + +[isort] +known_discord = discord,lavalink +known_utils = cogs.utils,cogs.helpformatter +import_heading_discord = Discord Packages +import_heading_utils = Bot Utilities +sections = DISCORD,FUTURE,STDLIB,THIRDPARTY,FIRSTPARTY,UTILS,LOCALFOLDER +no_lines_before = LOCALFOLDER +indent = " " +line_length = 120 +balanced_wrapping = True +multi_line_output = 4 \ No newline at end of file