diff --git a/extensions/base/datadump.py b/extensions/base/datadump.py index 366a75e..239e529 100644 --- a/extensions/base/datadump.py +++ b/extensions/base/datadump.py @@ -35,7 +35,6 @@ def embed_datadump_generate(ctx: Context, change: dict) -> DiscordMessage: embed_helper(ctx, embed, change) embed["title"] = _("Generated {file} dump").format(file=change["logparams"]["filename"]) embed["url"] = create_article_path(sanitize_to_url(change["title"])) - embed["description"] = ctx.parsedcomment return embed @@ -58,7 +57,6 @@ def embed_datadump_delete(ctx: Context, change: dict) -> DiscordMessage: embed_helper(ctx, embed, change) embed["title"] = _("Deleted {file} dump").format(file=change["logparams"]["filename"]) embed["url"] = create_article_path(sanitize_to_url(change["title"])) - embed["description"] = ctx.parsedcomment return embed diff --git a/extensions/base/managewiki.py b/extensions/base/managewiki.py index 85d8672..ce29324 100644 --- a/extensions/base/managewiki.py +++ b/extensions/base/managewiki.py @@ -33,7 +33,6 @@ def embed_managewiki_settings(ctx: Context, change: dict): embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Changed wiki settings") - embed["description"] = ctx.parsedcomment if change["logparams"].get("changes", ""): embed.add_field("Setting", sanitize_to_markdown(change["logparams"].get("changes"))) return embed @@ -53,7 +52,6 @@ def compact_managewiki_settings(ctx: Context, change: dict): def embed_managewiki_delete(ctx: Context, change: dict): embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) embed_helper(ctx, embed, change) - embed["description"] = ctx.parsedcomment embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Deleted a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", _("Unknown"))) return embed @@ -78,7 +76,6 @@ def compact_managewiki_delete(ctx: Context, change: dict): def embed_managewiki_lock(ctx: Context, change: dict): embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) embed_helper(ctx, embed, change) - embed["description"] = ctx.parsedcomment embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Locked a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", _("Unknown"))) return embed @@ -103,7 +100,6 @@ def embed_managewiki_namespaces(ctx: Context, change: dict): embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Modified \"{namespace_name}\" namespace").format( namespace_name=change["logparams"].get("namespace", _("Unknown"))) - embed["description"] = ctx.parsedcomment embed.add_field(_('Wiki'), change["logparams"].get("wiki", _("Unknown"))) return embed @@ -127,7 +123,6 @@ def embed_managewiki_namespaces_delete(ctx: Context, change: dict): embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Deleted a \"{namespace_name}\" namespace").format( namespace_name=change["logparams"].get("namespace", _("Unknown"))) - embed["description"] = ctx.parsedcomment embed.add_field(_('Wiki'), change["logparams"].get("wiki", _("Unknown"))) return embed @@ -152,7 +147,6 @@ def embed_managewiki_rights(ctx: Context, change: dict): embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) group_name = change["title"].split("/permissions/", 1)[1] - embed["description"] = ctx.parsedcomment embed["title"] = _("Modified \"{usergroup_name}\" usergroup").format(usergroup_name=group_name) return embed @@ -175,7 +169,6 @@ def embed_managewiki_undelete(ctx: Context, change: dict): embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) - embed["description"] = ctx.parsedcomment embed["title"] = _("Undeleted a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", _("Unknown"))) return embed @@ -198,7 +191,6 @@ def embed_managewiki_unlock(ctx: Context, change: dict): embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) - embed["description"] = ctx.parsedcomment embed["title"] = _("Unlocked a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", _("Unknown"))) return embed diff --git a/extensions/base/mediawiki.py b/extensions/base/mediawiki.py index 734b1a0..b0e8a42 100644 --- a/extensions/base/mediawiki.py +++ b/extensions/base/mediawiki.py @@ -86,7 +86,6 @@ def embed_edit(ctx: Context, change: dict) -> DiscordMessage: parse_mediawiki_changes(ctx, changed_content, embed) else: logger.warning("Unable to download data on the edit content!") - embed["description"] = ctx.parsedcomment return embed @@ -240,7 +239,6 @@ def embed_delete_delete(ctx, change) -> DiscordMessage: embed_helper(ctx, embed, change) embed['url'] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Deleted page {article}").format(article=change["title"]) - embed["description"] = ctx.parsedcomment return embed @@ -264,7 +262,6 @@ def embed_delete_delete_redir(ctx, change) -> DiscordMessage: embed_helper(ctx, embed, change) embed['url'] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Deleted redirect {article} by overwriting").format(article=sanitize_to_markdown(change["title"])) - embed["description"] = ctx.parsedcomment return embed @@ -287,7 +284,6 @@ def embed_delete_restore(ctx, change) -> DiscordMessage: embed_helper(ctx, embed, change) embed['url'] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Restored {article}").format(article=sanitize_to_markdown(change["title"])) - embed["description"] = ctx.parsedcomment return embed @@ -312,7 +308,6 @@ def embed_delete_event(ctx, change) -> DiscordMessage: embed_helper(ctx, embed, change) embed['url'] = create_article_path("Special:RecentChanges") embed["title"] = _("Changed visibility of log events") - embed["description"] = ctx.parsedcomment return embed @@ -336,7 +331,6 @@ def embed_delete_revision(ctx, change) -> DiscordMessage: embed["title"] = ngettext("Changed visibility of revision on page {article} ", "Changed visibility of {amount} revisions on page {article} ", amount).format( article=change["title"], amount=amount) - embed["description"] = ctx.parsedcomment return embed @@ -359,7 +353,7 @@ def compact_delete_revision(ctx, change) -> DiscordMessage: @formatter.embed(event="move/move", mode="embed") def embed_move_move(ctx, change) -> DiscordMessage: embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) - embed_helper(ctx, embed, change) + embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path(sanitize_to_url(change["logparams"]['target_title'])) embed["description"] = "{supress}. {desc}".format(desc=ctx.parsedcomment, supress=_("No redirect has been made") if "suppressredirect" in change[ @@ -390,7 +384,7 @@ def compact_move_move(ctx, change) -> DiscordMessage: @formatter.embed(event="move/move_redir", mode="embed") def embed_move_move_redir(ctx, change) -> DiscordMessage: embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) - embed_helper(ctx, embed, change) + embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path(sanitize_to_url(change["logparams"]['target_title'])) embed["description"] = "{supress}. {desc}".format(desc=ctx.parsedcomment, supress=_("No redirect has been made") if "suppressredirect" in change[ @@ -426,7 +420,6 @@ def embed_protect_move_prot(ctx, change): embed["title"] = _("Moved protection settings from {redirect}{article} to {title}").format( redirect="⤷ " if "redirect" in change else "", article=sanitize_to_markdown(change["logparams"]["oldtitle_title"]), title=sanitize_to_markdown(change["title"])) - embed["description"] = ctx.parsedcomment return embed @@ -448,7 +441,7 @@ def compact_protect_move_prot(ctx, change): @formatter.embed(event="protect/protect", mode="embed") def embed_protect_protect(ctx, change): embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) - embed_helper(ctx, embed, change) + embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Protected {target}").format(target=sanitize_to_markdown(change["title"])) embed["description"] = "{settings}{cascade} | {reason}".format(settings=sanitize_to_markdown(change["logparams"].get("description", "")), @@ -476,7 +469,7 @@ def compact_protect_protect(ctx, change): @formatter.embed(event="protect/modify", mode="embed") def embed_protect_modify(ctx, change): embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) - embed_helper(ctx, embed, change) + embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Changed protection level for {article}").format(article=sanitize_to_markdown(change["title"])) embed["description"] = "{settings}{cascade} | {reason}".format(settings=sanitize_to_markdown(change["logparams"].get("description", "")), @@ -508,7 +501,6 @@ def embed_protect_unprotect(ctx, change): embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Removed protection from {article}").format(article=change["title"]) - embed["description"] = ctx.parsedcomment return embed @@ -583,7 +575,6 @@ def embed_block_block(ctx, change): if block_flags: embed.add_field(_("Block flags"), ", ".join(block_flags)) # TODO Translate flags into MW messages, this requires making additional request in init_request since we want to get all messages with prefix (amprefix) block-log-flags- and that parameter is exclusive with ammessages embed["title"] = _("Blocked {blocked_user} {time}").format(blocked_user=user, time=block_expiry(change)) - embed["description"] = ctx.parsedcomment return embed @@ -642,7 +633,6 @@ def embed_block_reblock(ctx, change): embed["url"] = create_article_path(sanitize_to_url(change["title"])) user = change["title"].split(':', 1)[1] embed["title"] = _("Changed block settings for {blocked_user}").format(blocked_user=sanitize_to_markdown(user)) - embed["description"] = ctx.parsedcomment return embed @@ -665,7 +655,6 @@ def embed_block_unblock(ctx, change): embed["url"] = create_article_path(sanitize_to_url(change["title"])) user = change["title"].split(':', 1)[1] embed["title"] = _("Unblocked {blocked_user}").format(blocked_user=user) - embed["description"] = ctx.parsedcomment return embed @@ -768,7 +757,7 @@ def get_changed_groups(change: dict, separator: str): @formatter.embed(event="rights/rights", mode="embed") def embed_rights_rights(ctx, change): embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) - embed_helper(ctx, embed, change) + embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path(sanitize_to_url("User:{}".format(change["title"].split(":")[1]))) if ctx.event == "rights/rights": embed["title"] = _("Changed group membership for {target}").format(target=change["title"].split(":")[1]) @@ -813,7 +802,6 @@ def embed_merge_merge(ctx, change): embed["title"] = _("Merged revision histories of {article} into {dest}").format(article=sanitize_to_markdown(change["title"]), dest=sanitize_to_markdown(change["logparams"][ "dest_title"])) - embed["description"] = ctx.parsedcomment return embed @@ -927,7 +915,7 @@ def compact_newusers_newusers(ctx, change): @formatter.embed(event="interwiki/iw_add", mode="embed") def embed_interwiki_iw_add(ctx, change): embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) - embed_helper(ctx, embed, change) + embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path("Special:Interwiki") embed["title"] = _("Added an entry to the interwiki table") embed["description"] = _("Prefix: {prefix}, website: {website} | {desc}").format(desc=ctx.parsedcomment, @@ -952,7 +940,7 @@ def compact_interwiki_iw_add(ctx, change): @formatter.embed(event="interwiki/iw_edit", mode="embed") def embed_interwiki_iw_edit(ctx, change): embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) - embed_helper(ctx, embed, change) + embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path("Special:Interwiki") embed["title"] = _("Edited an entry in interwiki table") embed["description"] = _("Prefix: {prefix}, website: {website} | {desc}").format(desc=ctx.parsedcomment, @@ -979,7 +967,7 @@ def compact_interwiki_iw_edit(ctx, change): @formatter.embed(event="interwiki/iw_delete", mode="embed") def embed_interwiki_iw_delete(ctx, change): embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) - embed_helper(ctx, embed, change) + embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path("Special:Interwiki") embed["title"] = _("Deleted an entry in interwiki table") embed["description"] = _("Prefix: {prefix} | {desc}").format(desc=ctx.parsedcomment, prefix=change["logparams"]['0']) @@ -1004,7 +992,7 @@ def compact_interwiki_iw_delete(ctx, change): @formatter.embed(event="contentmodel/change", mode="embed") def embed_contentmodel_change(ctx, change): embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) - embed_helper(ctx, embed, change) + embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Changed the content model of the page {article}").format(article=sanitize_to_markdown(change["title"])) embed["description"] = _("Model changed from {old} to {new}: {reason}").format(old=change["logparams"]["oldmodel"], @@ -1031,7 +1019,7 @@ def compact_contentmodel_change(ctx, change): @formatter.embed(event="contentmodel/new", mode="embed") def embed_contentmodel_new(ctx, change): embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) - embed_helper(ctx, embed, change) + embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Created the page {article} using a non-default content model").format(article=sanitize_to_markdown(change["title"])) embed["description"] = _("Created with model {new}: {reason}").format(new=change["logparams"]["newmodel"], reason=ctx.parsedcomment) @@ -1181,7 +1169,6 @@ def embed_renameuser_renameuser(ctx, change): embed["title"] = _("Renamed user \"{old_name}\" to \"{new_name}\"").format( old_name=sanitize_to_markdown(change["logparams"]["olduser"]), new_name=sanitize_to_markdown(change["logparams"]["newuser"])) embed["url"] = create_article_path("User:" + sanitize_to_url(change["logparams"]["newuser"])) - embed["description"] = ctx.parsedcomment return embed diff --git a/extensions/base/translate.py b/extensions/base/translate.py index fc5919a..13e96fd 100644 --- a/extensions/base/translate.py +++ b/extensions/base/translate.py @@ -39,7 +39,6 @@ def embed_pagetranslation_mark(ctx: Context, change: dict): else: embed["url"] = link + "?oldid={}".format(change["logparams"]["revision"]) embed["title"] = _("Marked \"{article}\" for translation").format(article=sanitize_to_markdown(change["title"])) - embed["description"] = ctx.parsedcomment return embed @@ -69,7 +68,6 @@ def embed_pagetranslation_unmark(ctx: Context, change: dict): embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Removed \"{article}\" from the translation system").format(article=sanitize_to_markdown(change["title"])) - embed["description"] = ctx.parsedcomment return embed @@ -96,7 +94,6 @@ def embed_pagetranslation_moveok(ctx: Context, change: dict): embed["url"] = create_article_path(sanitize_to_url(change["logparams"]["target"])) embed["title"] = _("Completed moving translation pages from \"{article}\" to \"{target}\"").format( article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"])) - embed["description"] = ctx.parsedcomment return embed @@ -123,7 +120,6 @@ def embed_pagetranslation_movenok(ctx: Context, change: dict): embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Encountered a problem while moving \"{article}\" to \"{target}\"").format( article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"])) - embed["description"] = ctx.parsedcomment return embed @@ -152,7 +148,6 @@ def embed_pagetranslation_deletefnok(ctx: Context, change: dict): embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Failed to delete \"{article}\" which belongs to translatable page \"{target}\"").format( article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"])) - embed["description"] = ctx.parsedcomment return embed @@ -181,7 +176,6 @@ def embed_pagetranslation_deletelok(ctx: Context, change: dict): embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Completed deletion of translation page \"{article}\"").format( article=sanitize_to_markdown(change["title"])) - embed["description"] = ctx.parsedcomment return embed @@ -208,7 +202,6 @@ def embed_pagetranslation_deletelnok(ctx: Context, change: dict): embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Failed to delete \"{article}\" which belongs to translation page \"{target}\"").format( article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"])) - embed["description"] = ctx.parsedcomment return embed @@ -236,7 +229,6 @@ def embed_pagetranslation_encourage(ctx: Context, change: dict): embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Encouraged translation of \"{article}\"").format(article=sanitize_to_markdown(change["title"])) - embed["description"] = ctx.parsedcomment return embed @@ -261,7 +253,6 @@ def embed_pagetranslation_discourage(ctx: Context, change: dict): embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Discouraged translation of \"{article}\"").format(article=sanitize_to_markdown(change["title"])) - embed["description"] = ctx.parsedcomment return embed @@ -295,7 +286,6 @@ def embed_pagetranslation_prioritylanguages(ctx: Context, change: dict): article=sanitize_to_markdown(change["title"]), languages=languages) else: embed["title"] = _("Removed priority languages from \"{article}\"").format(article=sanitize_to_markdown(change["title"])) - embed["description"] = ctx.parsedcomment return embed @@ -340,7 +330,6 @@ def embed_pagetranslation_associate(ctx: Context, change: dict): embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Added translatable page \"{article}\" to aggregate group \"{group}\"").format( article=sanitize_to_markdown(change["title"]), group=change["logparams"]["aggregategroup"]) - embed["description"] = ctx.parsedcomment return embed @@ -367,7 +356,6 @@ def embed_pagetranslation_dissociate(ctx: Context, change: dict): embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = _("Removed translatable page \"{article}\" from aggregate group \"{group}\"").format( article=sanitize_to_markdown(change["title"]), group=change["logparams"]["aggregategroup"]) - embed["description"] = ctx.parsedcomment return embed @@ -397,7 +385,6 @@ def embed_translationreview_message(ctx: Context, change: dict): else: embed["url"] = link + "?oldid={}".format(change["logparams"]["revision"]) embed["title"] = _("Reviewed translation \"{article}\"").format(article=sanitize_to_markdown(change["title"])) - embed["description"] = ctx.parsedcomment return embed @@ -431,7 +418,6 @@ def embed_translationreview_group(ctx: Context, change: dict): if "old-state" in change["logparams"]: embed.add_field(_("Old state"), change["logparams"]["old-state"], inline=True) embed.add_field(_("New state"), change["logparams"]["new-state"], inline=True) - embed["description"] = ctx.parsedcomment return embed @@ -478,7 +464,6 @@ def embed_pagelang_pagelang(ctx: Context, change: dict): embed["title"] = _("Changed the language of \"{article}\"").format(article=sanitize_to_markdown(change["title"])) embed.add_field(_("Old language"), old_lang, inline=True) embed.add_field(_("New language"), new_lang, inline=True) - embed["description"] = ctx.parsedcomment return embed diff --git a/src/api/util.py b/src/api/util.py index 8eac730..7cd20a4 100644 --- a/src/api/util.py +++ b/src/api/util.py @@ -89,59 +89,72 @@ def compact_author(ctx: Context, change: dict) -> (Optional[str], Optional[str]) return author, author_url -def embed_helper(ctx: Context, message: DiscordMessage, change: dict) -> None: +def embed_helper(ctx: Context, message: DiscordMessage, change: dict, set_user=True, set_edit_meta=True, set_desc=True) -> None: """Helps in preparing common edit/log fields for events. Passed arguments automatically become saturated with needed data. + All automatic setups can be disabled by setting relevant variable to False - Currently handles: setting usernames""" - # TODO Repurpose it so change['user'] stays the same - if "anon" in change: - author_url = create_article_path("Special:Contributions/{user}".format( - user=change["user"].replace(" ", "_"))) # Replace here needed in case of #75 - ip_mapper = ctx.client.get_ipmapper() - logger.debug("current user: {} with cache of IPs: {}".format(change["user"], ip_mapper.keys())) - if change["user"] not in list(ip_mapper.keys()): - contibs = ctx.client.make_api_request( - "{wiki}?action=query&format=json&list=usercontribs&uclimit=max&ucuser={user}&ucstart={timestamp}&ucprop=".format( - wiki=ctx.client.WIKI_API_PATH, user=change["user"], timestamp=change["timestamp"]), "query", - "usercontribs") - if contibs is None: - logger.warning( - "WARNING: Something went wrong when checking amount of contributions for given IP address") - if settings.get("hide_ips", False): - change["user"] = _("Unregistered user") - change["user"] = change["user"] + "(?)" + Currently handles: + setting usernames (handles according to settings, specific options set in the settings: hide_ips) + adding category fields (if there are any specified categories in the edit) + adding tags (if the log is tagged anyhow) + setting default description (to ctx.parsedcomment)""" + if set_user: + # TODO Repurpose it so change['user'] stays the same + if "anon" in change: + author_url = create_article_path("Special:Contributions/{user}".format( + user=change["user"].replace(" ", "_"))) # Replace here needed in case of #75 + ip_mapper = ctx.client.get_ipmapper() + logger.debug("current user: {} with cache of IPs: {}".format(change["user"], ip_mapper.keys())) + if change["user"] not in list(ip_mapper.keys()): + contibs = ctx.client.make_api_request( + "{wiki}?action=query&format=json&list=usercontribs&uclimit=max&ucuser={user}&ucstart={timestamp}&ucprop=".format( + wiki=ctx.client.WIKI_API_PATH, user=change["user"], timestamp=change["timestamp"]), "query", + "usercontribs") + if contibs is None: + logger.warning( + "WARNING: Something went wrong when checking amount of contributions for given IP address") + if settings.get("hide_ips", False): + change["user"] = _("Unregistered user") + change["user"] = change["user"] + "(?)" + else: + ip_mapper[change["user"]] = len(contibs) + logger.debug( + "Current params user {} and state of map_ips {}".format(change["user"], ip_mapper)) + if settings.get("hide_ips", False): + change["user"] = _("Unregistered user") + change["user"] = "{author} ({contribs})".format(author=change["user"], contribs=len(contibs)) else: - ip_mapper[change["user"]] = len(contibs) logger.debug( "Current params user {} and state of map_ips {}".format(change["user"], ip_mapper)) - if settings.get("hide_ips", False): - change["user"] = _("Unregistered user") - change["user"] = "{author} ({contribs})".format(author=change["user"], contribs=len(contibs)) + if ctx.event in ("edit", "new"): + ip_mapper[change["user"]] += 1 + change["user"] = "{author} ({amount})".format( + author=change["user"] if settings.get("hide_ips", False) is False else _("Unregistered user"), + amount=ip_mapper[change["user"]]) else: - logger.debug( - "Current params user {} and state of map_ips {}".format(change["user"], ip_mapper)) - if ctx.event in ("edit", "new"): - ip_mapper[change["user"]] += 1 - change["user"] = "{author} ({amount})".format( - author=change["user"] if settings.get("hide_ips", False) is False else _("Unregistered user"), - amount=ip_mapper[change["user"]]) - else: - author_url = create_article_path("User:{}".format(change["user"].replace(" ", "_"))) - if settings["appearance"]["embed"]["show_footer"]: - message["timestamp"] = change["timestamp"] - if "tags" in change and change["tags"]: - tag_displayname = [] - for tag in change["tags"]: - if tag in ctx.client.tags: - if ctx.client.tags[tag] is None: - continue # Ignore hidden tags + author_url = create_article_path("User:{}".format(change["user"].replace(" ", "_"))) + message.set_author(change["user"], author_url) + if set_edit_meta: + if settings["appearance"]["embed"]["show_footer"]: + message["timestamp"] = change["timestamp"] + if "tags" in change and change["tags"]: + tag_displayname = [] + for tag in change["tags"]: + if tag in ctx.client.tags: + if ctx.client.tags[tag] is None: + continue # Ignore hidden tags + else: + tag_displayname.append(ctx.client.tags[tag]) else: - tag_displayname.append(ctx.client.tags[tag]) - else: - tag_displayname.append(tag) - message.add_field(_("Tags"), ", ".join(tag_displayname)) - if ctx.categories is not None and not (len(ctx.categories["new"]) == 0 and len(ctx.categorie["removed"]) == 0): - new_cat = (_("**Added**: ") + ", ".join(list(ctx.categories["new"])[0:16]) + ("\n" if len(ctx.categories["new"])<=15 else _(" and {} more\n").format(len(ctx.categories["new"])-15))) if ctx.categories["new"] else "" - del_cat = (_("**Removed**: ") + ", ".join(list(ctx.categories["removed"])[0:16]) + ("" if len(ctx.categories["removed"])<=15 else _(" and {} more").format(len(ctx.categories["removed"])-15))) if ctx.categories["removed"] else "" - message.add_field(_("Changed categories"), new_cat + del_cat) - message.set_author(change["user"], author_url) + tag_displayname.append(tag) + message.add_field(_("Tags"), ", ".join(tag_displayname)) + if ctx.categories is not None and not (len(ctx.categories["new"]) == 0 and len(ctx.categories["removed"]) == 0): + new_cat = (_("**Added**: ") + ", ".join(list(ctx.categories["new"])[0:16]) + ( + "\n" if len(ctx.categories["new"]) <= 15 else _(" and {} more\n").format( + len(ctx.categories["new"]) - 15))) if ctx.categories["new"] else "" + del_cat = (_("**Removed**: ") + ", ".join(list(ctx.categories["removed"])[0:16]) + ( + "" if len(ctx.categories["removed"]) <= 15 else _(" and {} more").format( + len(ctx.categories["removed"]) - 15))) if ctx.categories["removed"] else "" + message.add_field(_("Changed categories"), new_cat + del_cat) + if set_desc: + message["description"] = ctx.parsedcomment