jenkins-bot has submitted this change and it was merged.
Change subject: archivebot: allow the config template written with canonical namespace
......................................................................
archivebot: allow the config template written with canonical namespace
* both English and localized (canonical) namespace are supported
* when rewriting the header, the bot will canonicalize the template name
Change-Id: I0229ab67d7fcea7007054d249112a818b5ff4e9c
---
M scripts/archivebot.py
1 file changed, 11 insertions(+), 5 deletions(-)
Approvals:
Ladsgroup: Looks good to me, approved
jenkins-bot: Verified
diff --git a/scripts/archivebot.py b/scripts/archivebot.py
index e0e607e..2898e14 100644
--- a/scripts/archivebot.py
+++ b/scripts/archivebot.py
@@ -397,10 +397,10 @@
'counter': ['1', False],
'key': ['', False],
}
- self.tpl = tpl
self.salt = salt
self.force = force
self.site = page.site
+ self.tpl = pywikibot.Page(self.site, tpl)
self.timestripper = TimeStripper(site=self.site)
self.page = DiscussionPage(page, self)
self.load_config()
@@ -427,7 +427,7 @@
def attr2text(self):
return '{{%s\n%s\n}}' \
- % (self.tpl,
+ % (self.tpl.title(),
'\n'.join(['|%s = %s' % (a, self.get_attr(a))
for a in self.saveables()]))
@@ -438,9 +438,9 @@
return self.get_attr('key') == s.hexdigest()
def load_config(self):
- pywikibot.output(u'Looking for: {{%s}} in %s' % (self.tpl, self.page))
+ pywikibot.output(u'Looking for: {{%s}} in %s' % (self.tpl.title(),
self.page))
for tpl in self.page.templatesWithParams():
- if tpl[0] == pywikibot.Page(self.site, self.tpl, ns=10):
+ if tpl[0] == pywikibot.Page(self.site, self.tpl.title(), ns=10):
for param in tpl[1]:
item, value = param.split('=', 1)
self.set_attr(item.strip(), value.strip())
@@ -535,7 +535,12 @@
self.archives[a].update(comment)
# Save the page itself
- rx = re.compile('{{' + self.tpl + '\n.*?\n}}', re.DOTALL)
+ rx = re.compile(r"{{(?:%s)?\:?%s\n.*?\n}}" % (u'|'.join(
+ set(self.site.namespaces[self.tpl.namespace()])),
+ re.escape(self.tpl.title(withNamespace=False))), re.DOTALL)
+ if not rx.search(self.page.header):
+ pywikibot.error("Couldn't find the template in the
header")
+ return
self.page.header = rx.sub(self.attr2text(), self.page.header)
self.comment_params['count'] = self.archived_threads
self.comment_params['archives'] \
@@ -627,6 +632,7 @@
for a in args:
pagelist = []
+ a = pywikibot.Page(site, a, ns=10).title()
if not filename and not pagename:
if namespace is not None:
ns = [str(namespace)]
--
To view, visit
https://gerrit.wikimedia.org/r/136532
To unsubscribe, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I0229ab67d7fcea7007054d249112a818b5ff4e9c
Gerrit-PatchSet: 5
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Whym <whym(a)whym.org>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: Mpaa <mpaa.wiki(a)gmail.com>
Gerrit-Reviewer: Whym <whym(a)whym.org>
Gerrit-Reviewer: XZise <CommodoreFabianus(a)gmx.de>
Gerrit-Reviewer: jenkins-bot <>