Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F12458
followup_patch.patch
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Authored By
•
bzimport
Nov 22 2014, 2:31 AM
2014-11-22 02:31:21 (UTC+0)
Size
3 KB
Referenced Files
None
Subscribers
None
followup_patch.patch
View Options
Index: wikipedia.py
===================================================================
--- wikipedia.py (Revision 8985)
+++ wikipedia.py (Arbeitskopie)
@@ -4081,13 +4081,12 @@
def headerDone(self, header):
# Verify version
- version = header.generator
- p = re.compile('^MediaWiki (.+)$')
- m = p.match(version)
- if m:
- version = m.group(1)
+ try:
+ version = self.site.live_version(header)
if version != self.site.version():
output(u'WARNING: Family file %s contains version number %s, but it should be %s' % (self.site.family.name, self.site.version(), version))
+ except Error:
+ pass
# Verify case
if self.site.nocapitalize:
@@ -7240,7 +7239,7 @@
"""
return self.family.versionnumber(self.lang)
- def live_version(self):
+ def live_version(self, header=None):
"""Return the 'real' version number found on [[Special:Version]]
Return value is a tuple (int, int, str) of the major and minor
@@ -7249,18 +7248,24 @@
"""
global htmldata
if not hasattr(self, "_mw_version"):
- PATTERN = r"^(?:: )?([0-9]+)\.([0-9]+)(.*)$"
- versionpage = self.getUrl(self.get_address("Special:Version"))
- htmldata = BeautifulSoup(versionpage, convertEntities="html")
+ PATTERN = r"^(?:MediaWiki )?(?:: )?([0-9]+)\.([0-9]+)(.*)$"
# try to find the live version
# 1st try is for mw < 1.17wmf1
# 2nd try is for mw 1.17wmf1
- # 3rd uses family file which is not live
- for versionstring in [htmldata.findAll(
- text="MediaWiki")[1].parent.nextSibling,
- htmldata.body.table.findAll(
- 'td')[1].contents[0],
- self.family.version(self.lang)]:
+ # 3rd uses generator meta tag from page
+ # 4rd uses family file which is not live
+ if header is None:
+ versionpage = self.getUrl(self.get_address("Special:Version"))
+ htmldata = BeautifulSoup(versionpage, convertEntities="html")
+ versionlist = [htmldata.findAll(
+ text="MediaWiki")[1].parent.nextSibling,
+ htmldata.body.table.findAll(
+ 'td')[1].contents[0],
+ htmldata.header.generator,
+ self.family.version(self.lang)]
+ else:
+ versionlist = [header.generator,]
+ for versionstring in versionlist:
m = re.match(PATTERN, str(versionstring).strip())
if m: break
else:
Index: botlist.py
===================================================================
--- botlist.py (Revision 8985)
+++ botlist.py (Arbeitskopie)
@@ -88,7 +88,7 @@
pywikibot.put_throttle() # It actually is a get, but a heavy one.
m1 = True
offset = ''
- if site.versionnumber == 17:
+ if site.versionnumber >= 17:
PATTERN = u'<li>(.*?) *\((.*?),\s(.*?)\)(?:.*?)</li>'
else:
PATTERN = u'<li>(.*?) *\((.*?),\s(.*?)\)</li>'
File Metadata
Details
Attached
Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
11910
Default Alt Text
followup_patch.patch (3 KB)
Attached To
Mode
T57673: Migrate "DrTrigon's tools" (pywikibot/bots/drtrigonbot) bugs from JIRA (TS) to Bugzilla (set up product etc)
Attached
Detach File
Event Timeline
Log In to Comment