mirror of
https://gitlab.com/chicken-riders/RcGcDb.git
synced 2025-02-23 00:54:09 +00:00
Fixes from RcGcDw
This commit is contained in:
parent
b04efc10dc
commit
cfa5661480
|
@ -4,6 +4,7 @@ import re
|
||||||
import time
|
import time
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
import datetime
|
||||||
from src.config import settings
|
from src.config import settings
|
||||||
from src.misc import link_formatter, create_article_path, parse_link, profile_field_name, ContentParser
|
from src.misc import link_formatter, create_article_path, parse_link, profile_field_name, ContentParser
|
||||||
from src.discord import DiscordMessage
|
from src.discord import DiscordMessage
|
||||||
|
@ -84,7 +85,7 @@ async def compact_formatter(action, change, parsed_comment, categories, recent_c
|
||||||
"[{author}]({author_url}) moved protection settings from {redirect}*{article}* to [{target}]({target_url}){comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["logparams"]["oldtitle_title"],
|
"[{author}]({author_url}) moved protection settings from {redirect}*{article}* to [{target}]({target_url}){comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["logparams"]["oldtitle_title"],
|
||||||
target=change["title"], target_url=link, comment=parsed_comment)
|
target=change["title"], target_url=link, comment=parsed_comment)
|
||||||
elif action == "block/block":
|
elif action == "block/block":
|
||||||
user = change["title"].split(':')[1]
|
user = change["title"].split(':', 1)[1]
|
||||||
restriction_description = ""
|
restriction_description = ""
|
||||||
try:
|
try:
|
||||||
ipaddress.ip_address(user)
|
ipaddress.ip_address(user)
|
||||||
|
@ -92,23 +93,25 @@ async def compact_formatter(action, change, parsed_comment, categories, recent_c
|
||||||
except ValueError:
|
except ValueError:
|
||||||
link = link_formatter(create_article_path(change["title"], WIKI_ARTICLE_PATH))
|
link = link_formatter(create_article_path(change["title"], WIKI_ARTICLE_PATH))
|
||||||
if change["logparams"]["duration"] == "infinite":
|
if change["logparams"]["duration"] == "infinite":
|
||||||
block_time = _("infinity and beyond")
|
block_time = _("for infinity and beyond")
|
||||||
else:
|
else:
|
||||||
english_length = re.sub(r"(\d+)", "", change["logparams"][
|
english_length = re.sub(r"(\d+)", "", change["logparams"][
|
||||||
"duration"]) # note that translation won't work for millenia and century yet
|
"duration"]) # note that translation won't work for millenia and century yet
|
||||||
english_length_num = re.sub(r"(\D+)", "", change["logparams"]["duration"])
|
english_length_num = re.sub(r"(\D+)", "", change["logparams"]["duration"])
|
||||||
try:
|
try:
|
||||||
|
if "@" in english_length:
|
||||||
|
raise ValueError
|
||||||
english_length = english_length.rstrip("s").strip()
|
english_length = english_length.rstrip("s").strip()
|
||||||
try:
|
try:
|
||||||
block_time = "{num} {translated_length}".format(num=english_length_num,
|
block_time = _("for {num} {translated_length}").format(num=english_length_num,
|
||||||
translated_length=ngettext(english_length,
|
translated_length=ngettext(english_length,
|
||||||
english_length + "s",
|
english_length + "s",
|
||||||
int(english_length_num)))
|
int(english_length_num)))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
logger.exception("Couldn't properly resolve block expiry.")
|
logger.exception("Couldn't properly resolve block expiry.")
|
||||||
except AttributeError:
|
except (AttributeError, ValueError):
|
||||||
logger.error("Could not strip s from the block event, seems like the regex didn't work?")
|
date_time_obj = datetime.datetime.strptime(change["logparams"]["expiry"], '%Y-%m-%dT%H:%M:%SZ')
|
||||||
return
|
block_time = _("until {}").format(date_time_obj.strftime("%Y-%m-%d %H:%M:%S UTC"))
|
||||||
if "sitewide" not in change["logparams"]:
|
if "sitewide" not in change["logparams"]:
|
||||||
restriction_description = ""
|
restriction_description = ""
|
||||||
if "pages" in change["logparams"]["restrictions"] and change["logparams"]["restrictions"]["pages"]:
|
if "pages" in change["logparams"]["restrictions"] and change["logparams"]["restrictions"]["pages"]:
|
||||||
|
@ -133,14 +136,14 @@ async def compact_formatter(action, change, parsed_comment, categories, recent_c
|
||||||
logger.debug(restriction_description)
|
logger.debug(restriction_description)
|
||||||
restriction_description = restriction_description[:1020] + "…"
|
restriction_description = restriction_description[:1020] + "…"
|
||||||
content = _(
|
content = _(
|
||||||
"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{restriction_desc}{comment}").format(author=author, author_url=author_url, user=user, time=block_time, user_url=link, restriction_desc=restriction_description, comment=parsed_comment)
|
"[{author}]({author_url}) blocked [{user}]({user_url}) {time}{restriction_desc}{comment}").format(author=author, author_url=author_url, user=user, time=block_time, user_url=link, restriction_desc=restriction_description, comment=parsed_comment)
|
||||||
elif action == "block/reblock":
|
elif action == "block/reblock":
|
||||||
link = link_formatter(create_article_path(change["title"], WIKI_ARTICLE_PATH))
|
link = link_formatter(create_article_path(change["title"], WIKI_ARTICLE_PATH))
|
||||||
user = change["title"].split(':')[1]
|
user = change["title"].split(':', 1)[1]
|
||||||
content = _("[{author}]({author_url}) changed block settings for [{blocked_user}]({user_url}){comment}").format(author=author, author_url=author_url, blocked_user=user, user_url=link, comment=parsed_comment)
|
content = _("[{author}]({author_url}) changed block settings for [{blocked_user}]({user_url}){comment}").format(author=author, author_url=author_url, blocked_user=user, user_url=link, comment=parsed_comment)
|
||||||
elif action == "block/unblock":
|
elif action == "block/unblock":
|
||||||
link = link_formatter(create_article_path(change["title"], WIKI_ARTICLE_PATH))
|
link = link_formatter(create_article_path(change["title"], WIKI_ARTICLE_PATH))
|
||||||
user = change["title"].split(':')[1]
|
user = change["title"].split(':', 1)[1]
|
||||||
content = _("[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}").format(author=author, author_url=author_url, blocked_user=user, user_url=link, comment=parsed_comment)
|
content = _("[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}").format(author=author, author_url=author_url, blocked_user=user, user_url=link, comment=parsed_comment)
|
||||||
elif action == "curseprofile/comment-created":
|
elif action == "curseprofile/comment-created":
|
||||||
link = link_formatter(create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"]), WIKI_ARTICLE_PATH))
|
link = link_formatter(create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"]), WIKI_ARTICLE_PATH))
|
||||||
|
@ -458,23 +461,25 @@ async def embed_formatter(action, change, parsed_comment, categories, recent_cha
|
||||||
embed["title"] = _("Moved protection settings from {redirect}{article} to {title}").format(redirect="⤷ " if "redirect" in change else "", article=change["logparams"]["oldtitle_title"],
|
embed["title"] = _("Moved protection settings from {redirect}{article} to {title}").format(redirect="⤷ " if "redirect" in change else "", article=change["logparams"]["oldtitle_title"],
|
||||||
title=change["title"])
|
title=change["title"])
|
||||||
elif action == "block/block":
|
elif action == "block/block":
|
||||||
user = change["title"].split(':')[1]
|
user = change["title"].split(':', 1)[1]
|
||||||
try:
|
try:
|
||||||
ipaddress.ip_address(user)
|
ipaddress.ip_address(user)
|
||||||
link = create_article_path("Special:Contributions/{user}".format(user=user), WIKI_ARTICLE_PATH)
|
link = create_article_path("Special:Contributions/{user}".format(user=user), WIKI_ARTICLE_PATH)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
link = create_article_path(change["title"].replace(" ", "_"), WIKI_ARTICLE_PATH)
|
link = create_article_path(change["title"].replace(" ", "_"), WIKI_ARTICLE_PATH)
|
||||||
if change["logparams"]["duration"] == "infinite":
|
if change["logparams"]["duration"] == "infinite":
|
||||||
block_time = _("infinity and beyond")
|
block_time = _("for infinity and beyond")
|
||||||
else:
|
else:
|
||||||
english_length = re.sub(r"(\d+)", "", change["logparams"]["duration"]) # note that translation won't work for millenia and century yet
|
english_length = re.sub(r"(\d+)", "", change["logparams"]["duration"]) # note that translation won't work for millenia and century yet
|
||||||
english_length_num = re.sub(r"(\D+)", "", change["logparams"]["duration"])
|
english_length_num = re.sub(r"(\D+)", "", change["logparams"]["duration"])
|
||||||
try:
|
try:
|
||||||
|
if "@" in english_length:
|
||||||
|
raise ValueError
|
||||||
english_length = english_length.rstrip("s").strip()
|
english_length = english_length.rstrip("s").strip()
|
||||||
block_time = "{num} {translated_length}".format(num=english_length_num, translated_length=ngettext(english_length, english_length + "s", int(english_length_num)))
|
block_time = _("for {num} {translated_length}").format(num=english_length_num, translated_length=ngettext(english_length, english_length + "s", int(english_length_num)))
|
||||||
except AttributeError:
|
except (AttributeError, ValueError):
|
||||||
logger.error("Could not strip s from the block event, seems like the regex didn't work?")
|
date_time_obj = datetime.datetime.strptime(change["logparams"]["expiry"], '%Y-%m-%dT%H:%M:%SZ')
|
||||||
return
|
block_time = _("until {}").format(date_time_obj.strftime("%Y-%m-%d %H:%M:%S UTC"))
|
||||||
if "sitewide" not in change["logparams"]:
|
if "sitewide" not in change["logparams"]:
|
||||||
restriction_description = ""
|
restriction_description = ""
|
||||||
if "pages" in change["logparams"]["restrictions"] and change["logparams"]["restrictions"]["pages"]:
|
if "pages" in change["logparams"]["restrictions"] and change["logparams"]["restrictions"]["pages"]:
|
||||||
|
@ -499,14 +504,14 @@ async def embed_formatter(action, change, parsed_comment, categories, recent_cha
|
||||||
logger.debug(restriction_description)
|
logger.debug(restriction_description)
|
||||||
restriction_description = restriction_description[:1020]+"…"
|
restriction_description = restriction_description[:1020]+"…"
|
||||||
embed.add_field(_("Partial block details"), restriction_description, inline=True)
|
embed.add_field(_("Partial block details"), restriction_description, inline=True)
|
||||||
embed["title"] = _("Blocked {blocked_user} for {time}").format(blocked_user=user, time=block_time)
|
embed["title"] = _("Blocked {blocked_user} {time}").format(blocked_user=user, time=block_time)
|
||||||
elif action == "block/reblock":
|
elif action == "block/reblock":
|
||||||
link = create_article_path(change["title"].replace(" ", "_"), WIKI_ARTICLE_PATH)
|
link = create_article_path(change["title"].replace(" ", "_"), WIKI_ARTICLE_PATH)
|
||||||
user = change["title"].split(':')[1]
|
user = change["title"].split(':', 1)[1]
|
||||||
embed["title"] = _("Changed block settings for {blocked_user}").format(blocked_user=user)
|
embed["title"] = _("Changed block settings for {blocked_user}").format(blocked_user=user)
|
||||||
elif action == "block/unblock":
|
elif action == "block/unblock":
|
||||||
link = create_article_path(change["title"].replace(" ", "_"), WIKI_ARTICLE_PATH)
|
link = create_article_path(change["title"].replace(" ", "_"), WIKI_ARTICLE_PATH)
|
||||||
user = change["title"].split(':')[1]
|
user = change["title"].split(':', 1)[1]
|
||||||
embed["title"] = _("Unblocked {blocked_user}").format(blocked_user=user)
|
embed["title"] = _("Unblocked {blocked_user}").format(blocked_user=user)
|
||||||
elif action == "curseprofile/comment-created":
|
elif action == "curseprofile/comment-created":
|
||||||
if settings["appearance"]["embed"]["show_edit_changes"]:
|
if settings["appearance"]["embed"]["show_edit_changes"]:
|
||||||
|
|
Loading…
Reference in a new issue