Added buttons functionality for file reverts with majority code added by MarkusRost on RcGcDw repo

This commit is contained in:
Frisk 2024-10-13 15:51:34 +02:00
parent 6c92ff15f3
commit b3bcc959db
5 changed files with 61 additions and 1 deletions

View file

@ -159,6 +159,7 @@ def embed_upload_upload(ctx: Context, change: dict) -> DiscordMessage:
# Make a request for file revisions so we can get direct URL to the image for embed
if request_for_image_data is not None:
try:
ctx.image_data = image_data
urls = image_data["imageinfo"]
for num, revision in enumerate(urls):
if revision["timestamp"] == change["logparams"][

View file

@ -63,6 +63,15 @@ def buttons_hook(message: DiscordMessage, metadata: DiscordMessageMetadata, cont
# if "filerevert" in action_buttons and context.event in ("upload/overwrite", "upload/revert"):
# add_button(message, BUTTON_PREFIX + " file " + str(change["pageid"]) + " " + revision["archivename"].split("!")[0],
# action_buttons["filerevert"], 2, {"id": None, "name": "🔂"})
if "filerevert" in action_buttons and context.event in ("upload/overwrite", "upload/revert") and context.image_data:
found_cur = False
for revision in context.image_data.get("imageinfo", []):
if found_cur:
add_button(message, BUTTON_PREFIX + " file " + str(change["pageid"]) + " " + revision["archivename"].split("!")[0],
context.gettext("Revert"), 2, {"id": None, "name": "🔂"})
break
if revision["timestamp"] == change["logparams"]["img_timestamp"]: # find the correct revision corresponding for this log entry
found_cur = True
if "move" in action_buttons and context.event in ("move/move", "move/move_redir"):
add_button(message, BUTTON_PREFIX + " move " + str(change["pageid"]) + " " + change["title"],
context.gettext("Move back"), 2, {"id": None, "name": "🔂"})

View file

@ -0,0 +1,46 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the RcGcDb package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: RcGcDb\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-12 15:15+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: extensions/hooks/buttons.py:57
msgid "Block user"
msgstr ""
#: extensions/hooks/buttons.py:62
msgid "Delete"
msgstr ""
#: extensions/hooks/buttons.py:71
msgid "Revert"
msgstr ""
#: extensions/hooks/buttons.py:77
msgid "Move back"
msgstr ""
#: extensions/hooks/buttons.py:81
msgid "Rollback"
msgstr ""
#: extensions/hooks/buttons.py:84
msgid "Undo"
msgstr ""
#: extensions/hooks/buttons.py:88 extensions/hooks/buttons.py:91
msgid "Thank user"
msgstr ""

View file

@ -7,7 +7,7 @@ for language in de pl pt-br hi ru uk zh-hans zh-hant fr es it
# msgmerge -U locale/$language/LC_MESSAGES/formatters.po locale/templates/formatters.pot
done
xgettext -L Python --package-name=RcGcDb -o locale/templates/buttons.pot extensions/hooks/buttons.py
xgettext -L Python --package-name=RcGcDb -o locale/templates/wiki.pot src/wiki.py
xgettext -L Python --package-name=RcGcDb -o locale/templates/misc.pot src/misc.py
@ -18,6 +18,7 @@ do
msgmerge -U locale/$language/LC_MESSAGES/$file.po locale/templates/$file.pot
done
msgmerge -o locale/$language/LC_MESSAGES/wiki.po ~/Projects/RcGcDw/locale/$language/LC_MESSAGES/rc.po locale/$language/LC_MESSAGES/wiki.po
msgmerge -o locale/$language/LC_MESSAGES/formatters.po locale/$language/LC_MESSAGES/formatters.po locale/$language/LC_MESSAGES/buttons.po
msgmerge -o locale/$language/LC_MESSAGES/wiki.po ~/Projects/RcGcDw/locale/$language/LC_MESSAGES/rcgcdw.po locale/$language/LC_MESSAGES/wiki.po
msgmerge -o locale/$language/LC_MESSAGES/misc.po ~/Projects/RcGcDw/locale/$language/LC_MESSAGES/misc.po locale/$language/LC_MESSAGES/misc.po
for file in wiki misc formatters

View file

@ -31,6 +31,8 @@ class Context:
self.feed_type = feed_type
self.categories = None
self.parsedcomment = None
self.changed_content = None
self.image_data = None
self.event = None
self.comment_page = None
self._ = language.gettext # Singular translations (ex. ctx._("Large goat"))
@ -40,6 +42,7 @@ class Context:
self.npgettext = language.npgettext # Plural translation with context (ex. ctx.npgettext("From mediawiki module", "Edited {} time", "Edited {} times", edit_amoint)
self.settings = settings
self.buttons = buttons
self.custom_data = {}
def set_categories(self, cats):
self.categories = cats