diff options
| -rw-r--r-- | bot/exts/info/doc/_cog.py | 8 |
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 |