From bba4e65f3daa7151437effb5c37d94d417d50b9e Mon Sep 17 00:00:00 2001 From: Arjun Satarkar Date: Fri, 3 Jan 2025 20:34:16 +0530 Subject: Remove wplink cog (unlikely to complete it) --- wplink/__init__.py | 5 ----- wplink/info.json | 4 ---- wplink/wplink.py | 53 ----------------------------------------------------- 3 files changed, 62 deletions(-) delete mode 100644 wplink/__init__.py delete mode 100644 wplink/info.json delete mode 100644 wplink/wplink.py 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 -- cgit v1.2.3-70-g09d2