diff options
author | Arjun Satarkar <me@arjunsatarkar.net> | 2025-01-03 15:04:16 +0000 |
---|---|---|
committer | Arjun Satarkar <me@arjunsatarkar.net> | 2025-01-03 15:04:16 +0000 |
commit | bba4e65f3daa7151437effb5c37d94d417d50b9e (patch) | |
tree | 275021c6fe2b1eb0450ecf2635fdfa2cf6dc0910 | |
parent | 3cecae2dfef3b831bfead3041c56dfcc0bbe3e1e (diff) | |
download | aps-cogs-bba4e65f3daa7151437effb5c37d94d417d50b9e.tar aps-cogs-bba4e65f3daa7151437effb5c37d94d417d50b9e.tar.gz aps-cogs-bba4e65f3daa7151437effb5c37d94d417d50b9e.zip |
Remove wplink cog (unlikely to complete it)
-rw-r--r-- | wplink/__init__.py | 5 | ||||
-rw-r--r-- | wplink/info.json | 4 | ||||
-rw-r--r-- | wplink/wplink.py | 53 |
3 files changed, 0 insertions, 62 deletions
diff --git a/wplink/__init__.py b/wplink/__init__.py deleted file mode 100644 index f82c406..0000000 --- a/wplink/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from .wplink import WPLink - - -async def setup(bot): - await bot.add_cog(WPLink(bot)) diff --git a/wplink/info.json b/wplink/info.json deleted file mode 100644 index 297e4e0..0000000 --- a/wplink/info.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "author": ["Arjun Satarkar"], - "requirements": ["aiohttp", "async-lru"] -} diff --git a/wplink/wplink.py b/wplink/wplink.py deleted file mode 100644 index 1da38ff..0000000 --- a/wplink/wplink.py +++ /dev/null @@ -1,53 +0,0 @@ -import aiohttp -import async_lru -import discord -from redbot.core import commands -import logging -import re -import urllib.parse - - -class WPLink(commands.Cog): - def __init__(self, bot): - self.bot = bot - self.logger = logging.getLogger("red.aps-cogs.wplink") - - @commands.Cog.listener() - async def on_message(self, message: discord.Message): - WIKILINK_PATTERN = r"\[\[(.+?)\]\]" - MAX_LINKS_PER_MESSAGE = 6 - # Per https://www.mediawiki.org/wiki/Page_title_size_limitations - MAX_TITLE_LEN = 255 - - titles = re.findall(WIKILINK_PATTERN, message.content) - titles = titles[:MAX_LINKS_PER_MESSAGE] - - formatted_page_urls = [] - for title in titles: - if len(title) > MAX_TITLE_LEN: - continue - page_url = await self.look_up_page(title) - if page_url is not None: - formatted_page_urls.append(f"<{page_url}>") - - if formatted_page_urls: - await message.reply( - ", ".join(formatted_page_urls), - allowed_mentions=discord.AllowedMentions.none(), - ) - - @async_lru.alru_cache(maxsize=512) - async def look_up_page(self, title: str) -> str | None: - self.logger.info("Looking up page title %s", title) - MAX_URL_SIZE = 400 - query_url = f"https://en.wikipedia.org/wiki/Special:Search?search={urllib.parse.quote(title)}&go=Go" - async with aiohttp.ClientSession() as session: - async with session.head(query_url, allow_redirects=True) as response: - if response.status != 200: - return None - result_url = str(response.url) - if len(result_url) > MAX_URL_SIZE or result_url.startswith( - "https://en.wikipedia.org/wiki/Special:Search?" - ): - return None - return result_url |