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 <[email protected]>
Gerrit-Reviewer: John Vandenberg <[email protected]>
Gerrit-Reviewer: Ladsgroup <[email protected]>
Gerrit-Reviewer: Merlijn van Deen <[email protected]>
Gerrit-Reviewer: Mpaa <[email protected]>
Gerrit-Reviewer: Whym <[email protected]>
Gerrit-Reviewer: XZise <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to