aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar ChrisJL <[email protected]>2021-10-10 22:13:47 +0100
committerGravatar GitHub <[email protected]>2021-10-10 22:13:47 +0100
commit13135ced8cf135c4ff504e0c21251f9e3444251c (patch)
tree0b1d929af206130869a39df338738d0caf9fe7fe
parentMerge pull request #1630 from python-discord/kill-subdomains (diff)
parentFix typo in bot/exts/info/doc/_cog.py (diff)
Merge pull request #1865 from python-discord/fix-bot-1858
Handle 400 when setting pre-existing doc package
-rw-r--r--bot/exts/info/doc/_cog.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/bot/exts/info/doc/_cog.py b/bot/exts/info/doc/_cog.py
index e7710db24..ca6af946b 100644
--- a/bot/exts/info/doc/_cog.py
+++ b/bot/exts/info/doc/_cog.py
@@ -13,6 +13,7 @@ import aiohttp
import discord
from discord.ext import commands
+from bot.api import ResponseCodeError
from bot.bot import Bot
from bot.constants import MODERATION_ROLES, RedirectOutput
from bot.converters import Inventory, PackageName, ValidURL, allowed_strings
@@ -395,7 +396,14 @@ class DocCog(commands.Cog):
"base_url": base_url,
"inventory_url": inventory_url
}
- await self.bot.api_client.post("bot/documentation-links", json=body)
+ try:
+ await self.bot.api_client.post("bot/documentation-links", json=body)
+ except ResponseCodeError as err:
+ if err.status == 400 and "already exists" in err.response_json.get("package", [""])[0]:
+ log.info(f"Ignoring HTTP 400 as package {package_name} has already been added.")
+ await ctx.send(f"Package {package_name} has already been added.")
+ return
+ raise
log.info(
f"User @{ctx.author} ({ctx.author.id}) added a new documentation package:\n"