diff --git a/docs/API spec.md b/docs/API spec.md index 1f7c02d..fecca0f 100644 --- a/docs/API spec.md +++ b/docs/API spec.md @@ -38,6 +38,7 @@ There are also additional made up cases like a single event type of "abuselog" f ## Example formatter + ```python import logging @@ -45,25 +46,37 @@ from src.discord.message import DiscordMessage from src.api import formatter from src.api.context import Context from src.api.util import create_article_path, link_formatter -from src.i18n import rc_formatters +from src.i18n import formatters_i18n -_ = rc_formatters.gettext +_ = formatters_i18n.gettext logger = logging.getLogger("extensions.abusefilter") @formatter.embed(event="abuselog/modify", mode="embed") def embed_modify(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, webhook_url=ctx.webhook_url) - embed.set_link(create_article_path("Special:AbuseFilter/history/{number}/diff/prev/{historyid}".format(number=change["logparams"]['newId'], historyid=change["logparams"]["historyId"]))) - embed["title"] = _("Edited abuse filter number {number}").format(number=change["logparams"]['newId']) - return embed - + embed = DiscordMessage(ctx.message_type, ctx.event, webhook_url=ctx.webhook_url) + embed.set_link(create_article_path( + "Special:AbuseFilter/history/{number}/diff/prev/{historyid}".format(number=change["logparams"]['newId'], + historyid=change["logparams"][ + "historyId"]))) + embed["title"] = _("Edited abuse filter number {number}").format(number=change["logparams"]['newId']) + return embed + + @formatter.compact(event="abuselog/modify") def embed_modify(ctx: Context, change: dict) -> DiscordMessage: - link = link_formatter(create_article_path("Special:AbuseFilter/history/{number}/diff/prev/{historyid}".format(number=change["logparams"]['newId'], historyid=change["logparams"]["historyId"]))) - content = _("[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})").format(author=author, author_url=author_url, number=change["logparams"]['newId'], filter_url=link) - return DiscordMessage + link = link_formatter(create_article_path( + "Special:AbuseFilter/history/{number}/diff/prev/{historyid}".format(number=change["logparams"]['newId'], + historyid=change["logparams"][ + "historyId"]))) + content = _("[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})").format(author=author, + author_url=author_url, + number=change[ + "logparams"][ + 'newId'], + filter_url=link) + return DiscordMessage ``` diff --git a/extensions/base/abusefilter.py b/extensions/base/abusefilter.py index 7c82e3a..d60bfa9 100644 --- a/extensions/base/abusefilter.py +++ b/extensions/base/abusefilter.py @@ -17,14 +17,14 @@ import ipaddress import logging from src.discord.message import DiscordMessage from src.api import formatter -from src.i18n import rc_formatters +from src.i18n import formatters_i18n from src.api.context import Context from src.api.util import embed_helper, sanitize_to_url, parse_mediawiki_changes, clean_link, compact_author, \ create_article_path, sanitize_to_markdown from src.configloader import settings -_ = rc_formatters.gettext -ngettext = rc_formatters.ngettext +_ = formatters_i18n.gettext +ngettext = formatters_i18n.ngettext abusefilter_results = {"": _("None"), "warn": _("Warning issued"), "block": _("**Blocked user**"), "tag": _("Tagged the edit"), "disallow": _("Disallowed the action"), "rangeblock": _("**IP range blocked**"), "throttle": _("Throttled actions"), "blockautopromote": _("Removed autoconfirmed group"), "degroup": _("**Removed from privileged groups**")} abusefilter_actions = {"edit": _("Edit"), "upload": _("Upload"), "move": _("Move"), "stashupload": _("Stash upload"), "delete": _("Deletion"), "createaccount": _("Account creation"), "autocreateaccount": _("Auto account creation")} diff --git a/extensions/base/cargo.py b/extensions/base/cargo.py index 4707e2b..af7d484 100644 --- a/extensions/base/cargo.py +++ b/extensions/base/cargo.py @@ -17,12 +17,12 @@ import logging import re from src.discord.message import DiscordMessage from src.api import formatter -from src.i18n import rc_formatters +from src.i18n import formatters_i18n from src.api.context import Context from src.api.util import embed_helper, compact_author, create_article_path, sanitize_to_markdown -_ = rc_formatters.gettext -ngettext = rc_formatters.ngettext +_ = formatters_i18n.gettext +ngettext = formatters_i18n.ngettext # Cargo - https://www.mediawiki.org/wiki/Extension:Cargo diff --git a/extensions/base/datadump.py b/extensions/base/datadump.py index 239e529..ed5fc0b 100644 --- a/extensions/base/datadump.py +++ b/extensions/base/datadump.py @@ -17,12 +17,12 @@ import logging from src.discord.message import DiscordMessage from src.api import formatter -from src.i18n import rc_formatters +from src.i18n import formatters_i18n from src.api.context import Context from src.api.util import embed_helper, compact_author, create_article_path, sanitize_to_markdown, sanitize_to_url -_ = rc_formatters.gettext -ngettext = rc_formatters.ngettext +_ = formatters_i18n.gettext +ngettext = formatters_i18n.ngettext # DataDumps - https://www.mediawiki.org/wiki/Extension:DataDump diff --git a/extensions/base/discussions.py b/extensions/base/discussions.py index 44a97fe..9a778b8 100644 --- a/extensions/base/discussions.py +++ b/extensions/base/discussions.py @@ -26,9 +26,9 @@ from src.api.context import Context from src.discord.queue import send_to_discord from src.discord.message import DiscordMessage, DiscordMessageMetadata from src.api import formatter -from src.i18n import discussion_formatters +from src.i18n import formatters_i18n -_ = discussion_formatters.gettext +_ = formatters_i18n.gettext logger = logging.getLogger("rcgcdw.discussion_formatter") diff --git a/extensions/base/managewiki.py b/extensions/base/managewiki.py index e09dbb0..993c7d8 100644 --- a/extensions/base/managewiki.py +++ b/extensions/base/managewiki.py @@ -16,12 +16,12 @@ import logging from src.discord.message import DiscordMessage from src.api import formatter -from src.i18n import rc_formatters +from src.i18n import formatters_i18n from src.api.context import Context from src.api.util import embed_helper, compact_author, create_article_path, sanitize_to_markdown, sanitize_to_url -_ = rc_formatters.gettext -ngettext = rc_formatters.ngettext +_ = formatters_i18n.gettext +ngettext = formatters_i18n.ngettext # ManageWiki - https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ManageWiki diff --git a/extensions/base/mediawiki.py b/extensions/base/mediawiki.py index 8065edc..e6e5d8e 100644 --- a/extensions/base/mediawiki.py +++ b/extensions/base/mediawiki.py @@ -21,15 +21,15 @@ import datetime from collections import OrderedDict from src.discord.message import DiscordMessage from src.api import formatter -from src.i18n import rc_formatters +from src.i18n import formatters_i18n from src.api.context import Context from src.api.util import embed_helper, sanitize_to_url, parse_mediawiki_changes, clean_link, compact_author, \ create_article_path, sanitize_to_markdown from src.configloader import settings from src.exceptions import * -_ = rc_formatters.gettext -ngettext = rc_formatters.ngettext +_ = formatters_i18n.gettext +ngettext = formatters_i18n.ngettext logger = logging.getLogger("extensions.base") diff --git a/extensions/base/sprite.py b/extensions/base/sprite.py index f1c7a80..cd3423d 100644 --- a/extensions/base/sprite.py +++ b/extensions/base/sprite.py @@ -16,13 +16,13 @@ import logging from src.discord.message import DiscordMessage from src.api import formatter -from src.i18n import rc_formatters +from src.i18n import formatters_i18n from src.api.context import Context from src.api.util import embed_helper, compact_author, create_article_path, sanitize_to_markdown, sanitize_to_url, \ clean_link -_ = rc_formatters.gettext -ngettext = rc_formatters.ngettext +_ = formatters_i18n.gettext +ngettext = formatters_i18n.ngettext # SpriteSheet - https://www.mediawiki.org/wiki/Extension:SpriteSheet diff --git a/extensions/base/translate.py b/extensions/base/translate.py index 13e96fd..c7360ea 100644 --- a/extensions/base/translate.py +++ b/extensions/base/translate.py @@ -16,13 +16,13 @@ import logging from src.discord.message import DiscordMessage from src.api import formatter -from src.i18n import rc_formatters +from src.i18n import formatters_i18n from src.api.context import Context from src.api.util import embed_helper, compact_author, create_article_path, sanitize_to_markdown, sanitize_to_url, \ clean_link -_ = rc_formatters.gettext -ngettext = rc_formatters.ngettext +_ = formatters_i18n.gettext +ngettext = formatters_i18n.ngettext # I cried when I realized I have to migrate Translate extension logs, but this way I atone for my countless sins # Translate - https://www.mediawiki.org/wiki/Extension:Translate diff --git a/src/api/util.py b/src/api/util.py index b5e55d5..ed2e4db 100644 --- a/src/api/util.py +++ b/src/api/util.py @@ -20,9 +20,9 @@ from src.discord.message import DiscordMessage from src.configloader import settings import src.misc import logging -from src.i18n import rc_formatters +from src.i18n import formatters_i18n -_ = rc_formatters.gettext +_ = formatters_i18n.gettext if TYPE_CHECKING: from src.api.context import Context diff --git a/src/i18n.py b/src/i18n.py index 116a754..c8dad74 100644 --- a/src/i18n.py +++ b/src/i18n.py @@ -22,13 +22,12 @@ logger = logging.getLogger("rcgcdw.i18n") try: if settings["lang"] != "en": rcgcdw = gettext.translation('rcgcdw', localedir='locale', languages=[settings["lang"]]) - discussion_formatters = gettext.translation('discussion_formatters', localedir='locale', languages=[settings["lang"]]) rc = gettext.translation('rc', localedir='locale', languages=[settings["lang"]]) - rc_formatters = gettext.translation('rc_formatters', localedir='locale', languages=[settings["lang"]]) + formatters_i18n = gettext.translation('formatters', localedir='locale', languages=[settings["lang"]]) misc = gettext.translation('misc', localedir='locale', languages=[settings["lang"]]) redaction = gettext.translation('redaction', localedir='locale', languages=[settings["lang"]]) else: - rcgcdw, discussion_formatters, rc, rc_formatters, misc, redaction = gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations() + rcgcdw, discussion_formatters, rc, formatters_i18n, misc, redaction = gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations() except FileNotFoundError: logger.critical("No language files have been found. Make sure locale folder is located in the directory.") sys.exit(1) diff --git a/src/rc_formatters.py b/src/rc_formatters.py index 5265138..0826a1e 100644 --- a/src/rc_formatters.py +++ b/src/rc_formatters.py @@ -36,10 +36,10 @@ from src.discord.message import DiscordMessage, DiscordMessageMetadata if AUTO_SUPPRESSION_ENABLED: from src.discord.redaction import delete_messages, redact_messages -from src.i18n import rc_formatters +from src.i18n import formatters_i18n #from src.rc import recent_changes, pull_comment -_ = rc_formatters.gettext -ngettext = rc_formatters.ngettext +_ = formatters_i18n.gettext +ngettext = formatters_i18n.ngettext logger = logging.getLogger("rcgcdw.rc_formatters") #from src.rcgcdw import recent_changes, ngettext, logger, profile_field_name, LinkParser, pull_comment