Page MenuHomePhabricator

T284577.patch

Authored By
ChrisBlomTS
Jun 9 2021, 3:50 PM
Size
2 KB
Referenced Files
None
Subscribers
None

T284577.patch

diff --git a/pywikibot/family.py b/pywikibot/family.py
index 6196f28ab..5de4fd3b7 100644
--- a/pywikibot/family.py
+++ b/pywikibot/family.py
@@ -730,6 +730,13 @@ class Family:
"""
return '/w'
+ def mediawiki_version(self):
+ """"The version of the mediawiki to connect to.
+ Returns a version string, or None
+ If None is returned, the version will be retrieved from mediawiki.
+ If a version is returned, pywikibot will assume that mediawiki has the returned version."""
+ return None
+
def ssl_pathprefix(self, code):
"""The path prefix for secure HTTP access."""
# Override this ONLY if the wiki family requires a path prefix
diff --git a/pywikibot/site/_apisite.py b/pywikibot/site/_apisite.py
index dbe665439..3089d4993 100644
--- a/pywikibot/site/_apisite.py
+++ b/pywikibot/site/_apisite.py
@@ -924,21 +924,26 @@ class APISite(
Use :py:obj:`pywikibot.site.mw_version` to compare MediaWiki versions.
"""
- try:
- version = self.siteinfo.get('generator', expiry=1).split(' ')[1]
- except APIError:
- msg = 'You have no API read permissions.'
- if not self.logged_in():
- msg += ' Seems you are not logged in.'
- pywikibot.error(msg)
- raise
- if MediaWikiVersion(version) < '1.23':
- raise RuntimeError(
- 'Pywikibot "{}" does not support MediaWiki "{}".\n'
- 'Use Pywikibot prior to "6.0" branch instead.'
- .format(pywikibot.__version__, version))
- return version
+ version_from_family = self.family.mediawiki_version()
+ if version_from_family:
+ return version_from_family
+ else:
+ try:
+ version = self.siteinfo.get('generator', expiry=1).split(' ')[1]
+ except APIError:
+ msg = 'You have no API read permissions.'
+ if not self.logged_in():
+ msg += ' Seems you are not logged in.'
+ pywikibot.error(msg)
+ raise
+
+ if MediaWikiVersion(version) < '1.23':
+ raise RuntimeError(
+ 'Pywikibot "{}" does not support MediaWiki "{}".\n'
+ 'Use Pywikibot prior to "6.0" branch instead.'
+ .format(pywikibot.__version__, version))
+ return version
@property
def mw_version(self):

File Metadata

Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
9095029
Default Alt Text
T284577.patch (2 KB)

Event Timeline