summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArjun Satarkar <me@arjunsatarkar.net>2025-01-03 15:04:16 +0000
committerArjun Satarkar <me@arjunsatarkar.net>2025-01-03 15:04:16 +0000
commitbba4e65f3daa7151437effb5c37d94d417d50b9e (patch)
tree275021c6fe2b1eb0450ecf2635fdfa2cf6dc0910
parent3cecae2dfef3b831bfead3041c56dfcc0bbe3e1e (diff)
downloadaps-cogs-bba4e65f3daa7151437effb5c37d94d417d50b9e.tar
aps-cogs-bba4e65f3daa7151437effb5c37d94d417d50b9e.tar.gz
aps-cogs-bba4e65f3daa7151437effb5c37d94d417d50b9e.zip
Remove wplink cog (unlikely to complete it)
-rw-r--r--wplink/__init__.py5
-rw-r--r--wplink/info.json4
-rw-r--r--wplink/wplink.py53
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