From dbd57899ac824485660064950e893bc4aca9ffbf Mon Sep 17 00:00:00 2001 From: Winston Sung Date: Tue, 22 Dec 2020 04:38:30 +0000 Subject: [PATCH 1/2] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (5 of 5 strings) Translation: RcGcDw/rcgcdb Translate-URL: https://translate.wikibot.de/projects/rcgcdw/rcgcdb/zh-hant/ --- locale/zh-hant/LC_MESSAGES/discord.mo | Bin 767 -> 889 bytes locale/zh-hant/LC_MESSAGES/discord.po | 10 +++++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/locale/zh-hant/LC_MESSAGES/discord.mo b/locale/zh-hant/LC_MESSAGES/discord.mo index ca7f3e28b337604206c9a07b686dd69c751f9153..d3d384b6b1d0ea62d3569ff903648e5db1796a84 100644 GIT binary patch delta 435 zcmey*`jf5xo)F7a1|VPqVi_Rz0b*_-t^r~YSOLT~K)e!&MS%Dj5c2}@Zy@FYVopW| z20A`(Ny#iuE-fz3%+D)U0J0O4a#B+!9(9s)&dAJ5ElyR?2q{WT$t(fNC+27> zXaps@C%cquPUdBlst?h1E=o-VN$I*ImZVxK7#SED=o%X78W|}VSXvnyX&V3mSAf56 zP-sNLR-oU0;7)7e@sTe=A>4?I?dgS1zB#;u2k;ZF$8xi6!|(Rtj#RK0XS5 zj=ru6Hm<&oo<0taE-pc?!NGPwrFrS4le-x;RZ5`hQ}xO-von+OOY~Aw^$Uvfvr>~w wiuH?<)00!mC*Ne;$!IirGLxOqixqt@R!@80+3|Gyrl*Z_o=;gZ`2v$Z0QvxFpa1{> delta 306 zcmey#_Mf%>o)F7a1|VPsVi_QI0b+I_&H-W&=m26HAnpWWULZaO#5_QJ1&9TK_#qH4 zW@KRa45TfAcsdhA{vwd(1M=?yX^^_NKpLnF4p@LJpb#4aGmybLajE0P-;QiS$?nN6 zNt2@(rDAo1Qp+-nGxPIwT@p)DtrUz5j0|)QEOZUc6%5U-42`u7fPl*\n" -"Language-Team: Chinese (Traditional) \n" +"Language-Team: Chinese (Traditional) \n" "Language: zh-hant\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.1.1\n" +"X-Generator: Weblate 4.2.1\n" #: src/discord.py:27 msgid "wiki deleted" @@ -29,7 +29,7 @@ msgstr "wiki 無法存取" #: src/discord.py:28 msgid "discussions disabled" -msgstr "" +msgstr "討論版已停用" #: src/discord.py:29 msgid "unknown error" From df3194d3af9d4220bb5da72bf5d373450799e047 Mon Sep 17 00:00:00 2001 From: Markus-Rost Date: Tue, 22 Dec 2020 11:47:26 +0100 Subject: [PATCH 2/2] Fix stacked embed length check --- src/discord.py | 18 ++++++++++++------ src/formatters/discussions.py | 4 ++-- src/formatters/rc.py | 3 +-- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/discord.py b/src/discord.py index 9c9b707..5e8ba18 100644 --- a/src/discord.py +++ b/src/discord.py @@ -106,12 +106,17 @@ class DiscordMessage: raise EmbedListFull self.webhook_object["embeds"].append(self.embed) - def set_author(self, name: str, url: str, icon_url=""): + def set_author(self, name: str, url="", icon_url=""): self.length += len(name) self.embed["author"]["name"] = name self.embed["author"]["url"] = url self.embed["author"]["icon_url"] = icon_url + def set_footer(self, text: str, icon_url=""): + self.length += len(text) + self.embed["footer"]["text"] = text + self.embed["footer"]["icon_url"] = icon_url + def add_field(self, name, value, inline=False): if "fields" not in self.embed: self.embed["fields"] = [] @@ -138,7 +143,7 @@ def stack_message_list(messages: list) -> list: stackable = StackedDiscordMessage(messages[message_group_index]) for message in messages[message_group_index + 1:message_group_index + 10]: try: - stackable.add_embed(message.embed) + stackable.add_embed(message) except EmbedListFull: break messages.remove(message) @@ -165,13 +170,14 @@ class StackedDiscordMessage(DiscordMessage): def stack(self, messages: list): for message in messages: - self.add_embed(message.embed) + self.add_embed(message) - def add_embed(self, embed): - if len(self) + len(embed) > 6000: + def add_embed(self, message): + if len(self) + len(message) > 6000: raise EmbedListFull + self.length += len(message) self._setup_embed() - self.embed = embed + self.embed = message.embed self.finish_embed_message() diff --git a/src/formatters/discussions.py b/src/formatters/discussions.py index e77d106..b7ea5b5 100644 --- a/src/formatters/discussions.py +++ b/src/formatters/discussions.py @@ -107,7 +107,7 @@ async def feeds_embed_formatter(post_type, post, message_target, wiki, article_p else: # Fallback when model is not available embed["description"] = post.get("rawContent", "") if post["forumName"] is not None: - embed["footer"]["text"] = post["forumName"].replace("_", " ") + embed.set_footer(post["forumName"].replace("_", " ")) embed["timestamp"] = datetime.datetime.fromtimestamp(post["creationDate"]["epochSecond"], tz=datetime.timezone.utc).isoformat() if post_type == "FORUM": if not post["isReply"]: @@ -174,7 +174,7 @@ async def feeds_embed_formatter(post_type, post, message_target, wiki, article_p embed.event_type = "discussion/comment/reply" embed["url"] = "{url}?commentId={commentId}&replyId={replyId}".format(url=article_page["fullUrl"], commentId=post["threadId"], replyId=post["id"]) embed["title"] = _("Replied to a comment on {article}").format(article=article_page["title"]) - embed["footer"]["text"] = article_page["title"] + embed.set_footer(article_page["title"]) else: logger.warning("No entry for {event} with params: {params}".format(event=post_type, params=post)) embed["title"] = _("Unknown event `{event}`").format(event=post_type) diff --git a/src/formatters/rc.py b/src/formatters/rc.py index fa53261..52716c8 100644 --- a/src/formatters/rc.py +++ b/src/formatters/rc.py @@ -1101,8 +1101,7 @@ async def embed_formatter(action, change, parsed_comment, categories, recent_cha link = create_article_path("User:"+change["logparams"]["newuser"], WIKI_ARTICLE_PATH) elif action == "suppressed": link = create_article_path("", WIKI_ARTICLE_PATH) - embed["title"] = _("Action has been hidden by administration") - embed["author"]["name"] = _("Unknown") + embed.set_author(_("Unknown")) else: logger.warning("No entry for {event} with params: {params}".format(event=action, params=change)) link = create_article_path("Special:RecentChanges", WIKI_ARTICLE_PATH)