From 1bdcf2e96d62457de09a612dcdbb2aa0671a56c6 Mon Sep 17 00:00:00 2001 From: Raiden Sakura Date: Sat, 23 Dec 2023 01:24:50 +0800 Subject: [PATCH] Resolve deprecated pkg_resources warning --- bot.py | 6 +++--- cogs/plugins.py | 6 +++--- cogs/utility.py | 8 ++++---- poetry.lock | 2 +- pyproject.toml | 1 + 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/bot.py b/bot.py index 7fc41b650d..cfeede1f2c 100644 --- a/bot.py +++ b/bot.py @@ -22,7 +22,7 @@ from discord.ext.commands import MemberConverter from discord.ext.commands.view import StringView from emoji import UNICODE_EMOJI -from pkg_resources import parse_version +from packaging import version from core.blocklist import Blocklist, BlockReason @@ -211,7 +211,7 @@ def _configure_logging(self): @property def version(self): - return parse_version(__version__) + return version.parse(__version__) @property def api(self) -> ApiClient: @@ -1627,7 +1627,7 @@ async def autoupdate(self): changelog = await Changelog.from_url(self) latest = changelog.latest_version - if self.version < parse_version(latest.version): + if self.version < version.parse(latest.version): error = None data = {} try: diff --git a/cogs/plugins.py b/cogs/plugins.py index d6bc69e2d1..0cc3027394 100644 --- a/cogs/plugins.py +++ b/cogs/plugins.py @@ -15,7 +15,7 @@ import discord from discord.ext import commands -from pkg_resources import parse_version +from packaging import version from core import checks from core.models import PermissionLevel, getLogger @@ -288,7 +288,7 @@ async def parse_user_input(self, ctx, plugin_name, check_version=False): if check_version: required_version = details.get("bot_version", False) - if required_version and self.bot.version < parse_version(required_version): + if required_version and self.bot.version < version.parse(required_version): embed = discord.Embed( description="Your bot's version is too low. " f"This plugin requires version `{required_version}`.", @@ -672,7 +672,7 @@ async def plugins_registry(self, ctx, *, plugin_name: typing.Union[int, str] = N embed.set_footer(text="This plugin is currently loaded.") else: required_version = details.get("bot_version", False) - if required_version and self.bot.version < parse_version(required_version): + if required_version and self.bot.version < version.parse(required_version): embed.set_footer( text="Your bot is unable to install this plugin, " f"minimum required version is v{required_version}." diff --git a/cogs/utility.py b/cogs/utility.py index 135737dd8e..e2374a85f2 100644 --- a/cogs/utility.py +++ b/cogs/utility.py @@ -20,7 +20,7 @@ from discord.enums import ActivityType, Status from discord.ext import commands, tasks from discord.ext.commands.view import StringView -from pkg_resources import parse_version +from packaging import version from core import checks, migrations, utils from core.changelog import Changelog @@ -353,9 +353,9 @@ async def about(self, ctx): latest = changelog.latest_version if self.bot.version.is_prerelease: - stable = next(filter(lambda v: not parse_version(v.version).is_prerelease, changelog.versions)) + stable = next(filter(lambda v: not version.parse(v.version).is_prerelease, changelog.versions)) footer = f"You are on the prerelease version • the latest version is v{stable.version}." - elif self.bot.version < parse_version(latest.version): + elif self.bot.version < version.parse(latest.version): footer = f"A newer version is available v{latest.version}." else: footer = "You are up to date with the latest version." @@ -2003,7 +2003,7 @@ async def update(self, ctx, *, flag: str = ""): "(https://github.com/raidensakura/modmail/blob/stable/bot.py#L1)" ) - if self.bot.version >= parse_version(latest.version) and flag.lower() != "force": + if self.bot.version >= version.parse(latest.version) and flag.lower() != "force": embed = discord.Embed(title="Already up to date", description=desc, color=self.bot.main_color) data = await self.bot.api.get_user_info() diff --git a/poetry.lock b/poetry.lock index 0a2c71a399..e1d9f6782a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1350,4 +1350,4 @@ multidict = ">=4.0" [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "d59b3a1acffcf02f4d0b412380630edc8f6ad601a83a2fae9939971252e3b828" +content-hash = "c2f16223a1a53d14222cd192fe66b39515ef1747d89d08752e8d74e3a9a21e75" diff --git a/pyproject.toml b/pyproject.toml index 2fd50d8785..f692ab1a54 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,6 +30,7 @@ cairocffi = "~=1.3.0" cffi = "~=1.15.0" strenum = "*" "discord.py" = "==2.3.0" +packaging = "^23.2" [tool.poetry.group.dev.dependencies] black = "^23.12.0"