Added datadump/generate-in-progress and datadump/generate-completed events

This commit is contained in:
Frisk 2024-10-01 11:57:53 +02:00
parent 5a7a6ea71c
commit 0c062d0ff4

View file

@ -14,7 +14,6 @@
# along with RcGcDw. If not, see <http://www.gnu.org/licenses/>. # along with RcGcDw. If not, see <http://www.gnu.org/licenses/>.
import logging
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
@ -23,8 +22,6 @@ from src.api.util import embed_helper, compact_author, sanitize_to_markdown, san
# DataDumps - https://www.mediawiki.org/wiki/Extension:DataDump # DataDumps - https://www.mediawiki.org/wiki/Extension:DataDump
# datadump/generate - Generating a dump of wiki # datadump/generate - Generating a dump of wiki
@formatter.embed(event="datadump/generate") @formatter.embed(event="datadump/generate")
def embed_datadump_generate(ctx: Context, change: dict) -> DiscordMessage: def embed_datadump_generate(ctx: Context, change: dict) -> DiscordMessage:
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
@ -44,9 +41,8 @@ def compact_datadump_generate(ctx: Context, change: dict):
) )
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
# datadump/delete - Deleting a dump of a wiki # datadump/delete - Deleting a dump of a wiki
@formatter.embed(event="datadump/delete") @formatter.embed(event="datadump/delete")
def embed_datadump_delete(ctx: Context, change: dict) -> DiscordMessage: def embed_datadump_delete(ctx: Context, change: dict) -> DiscordMessage:
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
@ -65,3 +61,37 @@ def compact_datadump_delete(ctx: Context, change: dict) -> DiscordMessage:
comment=parsed_comment comment=parsed_comment
) )
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
# datadump/generate-in-progress - Datadump generation is in progress
@formatter.embed(event="datadump/generate-in-progress")
def embed_datadump_generate_in_progress(ctx: Context, change: dict) -> DiscordMessage:
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
embed_helper(ctx, embed, change)
embed["title"] = ctx._("Generation of a backup file ”{file}” has been initiated").format(file=sanitize_to_markdown(change["logparams"]["filename"]))
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
return embed
@formatter.compact(event="datadump/generate-in-progress")
def compact_datadump_generate_in_progress(ctx: Context, change: dict) -> DiscordMessage:
content = ctx._("Generation of backup file ”*{file}*” has been initiated").format(file=sanitize_to_markdown(change["logparams"]["filename"])
)
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
# datadump/generate-completed - Datadump generation is completed
@formatter.embed(event="datadump/generate-completed")
def embed_datadump_generate_completed(ctx: Context, change: dict) -> DiscordMessage:
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
embed_helper(ctx, embed, change)
embed["title"] = ctx._("Generation of backup file ”{file}” has been completed").format(file=sanitize_to_markdown(change["logparams"]["filename"]))
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
return embed
@formatter.compact(event="datadump/generate-completed")
def compact_datadump_generate_completed(ctx: Context, change: dict) -> DiscordMessage:
content = ctx._("Generation of backup file ”*{file}*” has been completed").format(file=sanitize_to_markdown(change["logparams"]["filename"])
)
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)