aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/exts/info/doc/_cog.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/bot/exts/info/doc/_cog.py b/bot/exts/info/doc/_cog.py
index 61ac35b6f..cee482c30 100644
--- a/bot/exts/info/doc/_cog.py
+++ b/bot/exts/info/doc/_cog.py
@@ -157,6 +157,11 @@ class CachedParser:
while self._queue:
item, soup = self._queue.pop()
try:
+ if (future := self._item_futures[item]).done():
+ # Some items are present in the inventories multiple times under different symbols,
+ # if we already parsed an equal item, we can just skip it.
+ continue
+
markdown = await bot_instance.loop.run_in_executor(
None,
partial(get_symbol_markdown, soup, item),
@@ -166,8 +171,7 @@ class CachedParser:
except Exception:
log.exception(f"Unexpected error when handling {item}")
else:
- if (future := self._item_futures.get(item)) is not None:
- future.set_result(markdown)
+ future.set_result(markdown)
await asyncio.sleep(0.1)
finally:
self._parse_task = None