mirror of
https://gitlab.com/chicken-riders/RcGcDw.git
synced 2025-02-23 00:24:09 +00:00
Brought over changes from RcGcDb to improve compatibility as well as fix a bug
This commit is contained in:
parent
5874bae884
commit
0719740ae8
|
@ -19,7 +19,7 @@ import datetime
|
||||||
from src.discord.message import DiscordMessage
|
from src.discord.message import DiscordMessage
|
||||||
from src.api import formatter
|
from src.api import formatter
|
||||||
from src.api.context import Context
|
from src.api.context import Context
|
||||||
from src.api.util import embed_helper, sanitize_to_url, parse_mediawiki_changes, clean_link, compact_author, \
|
from src.api.util import embed_helper, sanitize_to_url, clean_link, compact_author, \
|
||||||
sanitize_to_markdown, compact_summary
|
sanitize_to_markdown, compact_summary
|
||||||
|
|
||||||
# Order results from most drastic first to less drastic last
|
# Order results from most drastic first to less drastic last
|
||||||
|
|
|
@ -28,7 +28,7 @@ def embed_approval_approvefile(ctx: Context, change: dict):
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Approved a file revision of {file}").format(file=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Approved a file revision of {file}").format(file=sanitize_to_markdown(change["title"]))
|
||||||
link_parser_object = LinkParser()
|
link_parser_object = LinkParser(ctx.client.WIKI_JUST_DOMAIN)
|
||||||
link_parser_object.feed(change.get("logparams", {}).get("0", ""))
|
link_parser_object.feed(change.get("logparams", {}).get("0", ""))
|
||||||
embed["description"] = ctx._("File version from {time} got approved").format(name=change["title"], time=link_parser_object.new_string)
|
embed["description"] = ctx._("File version from {time} got approved").format(name=change["title"], time=link_parser_object.new_string)
|
||||||
# TODO Make timestamp more user friendly? Getting user who uploaded will be a pain though, same with approval/approve
|
# TODO Make timestamp more user friendly? Getting user who uploaded will be a pain though, same with approval/approve
|
||||||
|
|
|
@ -73,7 +73,7 @@ def embed_managewiki_delete_group(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
group = change["title"].split("/")[-1]
|
group = change["title"].split("/")[-1]
|
||||||
embed["title"] = ctx._("Deleted a \"{group}\" user group").format(wiki=group)
|
embed["title"] = ctx._("Deleted a \"{group}\" user group").format(group=group)
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -346,6 +346,10 @@ class LinkParser(HTMLParser):
|
||||||
new_string = ""
|
new_string = ""
|
||||||
recent_href = ""
|
recent_href = ""
|
||||||
|
|
||||||
|
def __init__(self, DOMAIN_URL: str):
|
||||||
|
self.WIKI_JUST_DOMAIN = DOMAIN_URL
|
||||||
|
super().__init__()
|
||||||
|
|
||||||
def handle_starttag(self, tag, attrs):
|
def handle_starttag(self, tag, attrs):
|
||||||
for attr in attrs:
|
for attr in attrs:
|
||||||
if attr[0] == 'href':
|
if attr[0] == 'href':
|
||||||
|
@ -353,12 +357,12 @@ class LinkParser(HTMLParser):
|
||||||
if self.recent_href.startswith("//"):
|
if self.recent_href.startswith("//"):
|
||||||
self.recent_href = "https:{rest}".format(rest=self.recent_href)
|
self.recent_href = "https:{rest}".format(rest=self.recent_href)
|
||||||
elif not self.recent_href.startswith("http"):
|
elif not self.recent_href.startswith("http"):
|
||||||
self.recent_href = WIKI_JUST_DOMAIN + self.recent_href
|
self.recent_href = self.WIKI_JUST_DOMAIN + self.recent_href
|
||||||
self.recent_href = self.recent_href.replace(")", "\\)")
|
self.recent_href = self.recent_href.replace(")", "\\)")
|
||||||
elif attr[0] == 'data-uncrawlable-url':
|
elif attr[0] == 'data-uncrawlable-url':
|
||||||
self.recent_href = attr[1].encode('ascii')
|
self.recent_href = attr[1].encode('ascii')
|
||||||
self.recent_href = base64.b64decode(self.recent_href)
|
self.recent_href = base64.b64decode(self.recent_href)
|
||||||
self.recent_href = WIKI_JUST_DOMAIN + self.recent_href.decode('ascii')
|
self.recent_href = self.WIKI_JUST_DOMAIN + self.recent_href.decode('ascii')
|
||||||
|
|
||||||
def handle_data(self, data):
|
def handle_data(self, data):
|
||||||
if self.recent_href:
|
if self.recent_href:
|
||||||
|
|
Loading…
Reference in a new issue