Xqt has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/756061
)
Change subject: [bugfix] Allow categories when saving IndexPage
......................................................................
[bugfix] Allow categories when saving IndexPage
It is possible to have categories in IndexPage.
Take them into consideration when validating page content,
otherwise it will not be possible to save the page.
Bug: T299806
Change-Id: I58c0370a938958d7f2800b7b099992526db0d0df
---
M pywikibot/proofreadpage.py
1 file changed, 12 insertions(+), 4 deletions(-)
Approvals:
Xqt: Verified; Looks good to me, approved
diff --git a/pywikibot/proofreadpage.py b/pywikibot/proofreadpage.py
index 7096f32..8fca578 100644
--- a/pywikibot/proofreadpage.py
+++ b/pywikibot/proofreadpage.py
@@ -860,13 +860,21 @@
def has_valid_content(self) -> bool:
"""Test page only contains a single call to the index
template."""
- if (not self.text.startswith('{{' + self.INDEX_TEMPLATE)
- or not self.text.endswith('}}')):
+ text = self.text
+
+ if not text.startswith('{{' + self.INDEX_TEMPLATE):
+ return False
+
+ # Discard possible categories after INDEX_TEMPLATE
+ categories = textlib.getCategoryLinks(text, self.site)
+ for cat in categories:
+ text = text.replace('\n' + cat.title(as_link=True), '')
+
+ if not text.endswith('}}'):
return False
# Discard all inner templates as only top-level ones matter
- templates = textlib.extract_templates_and_params_regex_simple(
- self.text)
+ templates = textlib.extract_templates_and_params_regex_simple(text)
if len(templates) != 1 or templates[0][0] != self.INDEX_TEMPLATE:
# Only a single call to the INDEX_TEMPLATE is allowed
return False
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/756061
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I58c0370a938958d7f2800b7b099992526db0d0df
Gerrit-Change-Number: 756061
Gerrit-PatchSet: 2
Gerrit-Owner: Mpaa <mpaa.wiki(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged