jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/672374 )
Change subject: [6.0] Drop support for mw 1.19-1.22
......................................................................
[6.0] Drop support for mw 1.19-1.22
- update site_detect.py
- update tests
- update documentation
Bug: T268979
Change-Id: I59af705e4503826784f200bd1f7a40058d286c9a
---
M pywikibot/data/api.py
M pywikibot/site_detect.py
M pywikibot/tools/__init__.py
M tests/api_tests.py
M tests/dry_api_tests.py
M tests/mediawikiversion_tests.py
M tests/page_tests.py
M tests/pagegenerators_tests.py
M tests/paraminfo_tests.py
M tests/site_decorators_tests.py
M tests/site_detect_tests.py
M tests/site_tests.py
M tests/token_tests.py
13 files changed, 56 insertions(+), 84 deletions(-)
Approvals:
Xqt: Looks good to me, approved
DannyS712: Looks good to me, but someone else must approve
jenkins-bot: Verified
diff --git a/pywikibot/data/api.py b/pywikibot/data/api.py
index d5a0e27..32bd3be 100644
--- a/pywikibot/data/api.py
+++ b/pywikibot/data/api.py
@@ -1106,8 +1106,7 @@
'API write action by unexpected username {} commenced.\n'
'userinfo: {!r}'.format(username, self.site.userinfo))
- # MediaWiki 1.23 allows assertion for any action,
- # make sure user is logged in
+ # Make sure user is logged in
if self.write:
pywikibot.debug('Adding user assertion', _logger)
self['assert'] = 'user'
diff --git a/pywikibot/site_detect.py b/pywikibot/site_detect.py
index 681af7a..a210bf6 100644
--- a/pywikibot/site_detect.py
+++ b/pywikibot/site_detect.py
@@ -21,7 +21,7 @@
SERVER_DB_ERROR_MSG = \
'<h1>Sorry! This site is experiencing technical
difficulties.</h1>'
-MIN_VERSION = MediaWikiVersion('1.19')
+MIN_VERSION = MediaWikiVersion('1.23')
class MWSite:
@@ -35,7 +35,7 @@
@raises pywikibot.exceptions.ServerError: a server error occurred
while loading the site
@raises Timeout: a timeout occurred while loading the site
- @raises RuntimeError: Version not found or version less than 1.19
+ @raises RuntimeError: Version not found or version less than 1.23
"""
if fromurl.endswith('$1'):
fromurl = fromurl[:-2]
diff --git a/pywikibot/tools/__init__.py b/pywikibot/tools/__init__.py
index 2f4cc1d..827cf91 100644
--- a/pywikibot/tools/__init__.py
+++ b/pywikibot/tools/__init__.py
@@ -440,8 +440,8 @@
version is greater if the normal version or dev version is greater. For
example:
- 1.24 < 1.24.1 < 1.25wmf1 < 1.25alpha < 1.25beta1 < 1.25beta2
- < 1.25-rc-1 < 1.25-rc.2 < 1.25
+ 1.34 < 1.34.1 < 1.35wmf1 < 1.35alpha < 1.35beta1 < 1.35beta2
+ < 1.35-rc-1 < 1.35-rc.2 < 1.35
Any other suffixes are considered invalid.
"""
diff --git a/tests/api_tests.py b/tests/api_tests.py
index 86f36a0..c2cf635 100644
--- a/tests/api_tests.py
+++ b/tests/api_tests.py
@@ -139,10 +139,8 @@
self.assertLength(pi, pi.preloaded_modules)
- if site.mw_version >= '1.21':
- # 'generator' was added to 'pageset' in 1.21
- generators_param = pi.parameter('pageset', 'generator')
- self.assertGreater(len(generators_param['type']), 1)
+ generators_param = pi.parameter('pageset', 'generator')
+ self.assertGreater(len(generators_param['type']), 1)
def test_generators(self):
"""Test requesting the generator parameter."""
@@ -156,12 +154,10 @@
self.assertIn('pageset', pi._paraminfo)
self.assertIn('query', pi._paraminfo)
- if site.mw_version >= '1.21':
- # 'generator' was added to 'pageset' in 1.21
- pageset_generators_param = pi.parameter('pageset',
'generator')
- query_generators_param = pi.parameter('query', 'generator')
+ pageset_generators_param = pi.parameter('pageset', 'generator')
+ query_generators_param = pi.parameter('query', 'generator')
- self.assertEqual(pageset_generators_param, query_generators_param)
+ self.assertEqual(pageset_generators_param, query_generators_param)
def test_with_module_info(self):
"""Test requesting the module info."""
diff --git a/tests/dry_api_tests.py b/tests/dry_api_tests.py
index b67829e..f548ab5 100644
--- a/tests/dry_api_tests.py
+++ b/tests/dry_api_tests.py
@@ -155,7 +155,7 @@
self._siteinfo = DummySiteinfo({'case': 'first-letter'})
def version(self):
- return '1.19' # lowest supported release
+ return '1.23' # lowest supported release
def protocol(self):
return 'http'
diff --git a/tests/mediawikiversion_tests.py b/tests/mediawikiversion_tests.py
index 1bc0866..1913f82 100644
--- a/tests/mediawikiversion_tests.py
+++ b/tests/mediawikiversion_tests.py
@@ -29,29 +29,29 @@
def test_normal_versions(self):
"""Test comparison between release versions."""
- self.assertGreater(self._make('1.23'), self._make('1.22.0'))
- self.assertEqual(self._make('1.23'), self._make('1.23'))
+ self.assertGreater(self._make('1.33'), self._make('1.32.0'))
+ self.assertEqual(self._make('1.33'), self._make('1.33'))
def test_wmf_versions(self):
"""Test comparison between wmf versions."""
- self.assertGreater(self._make('1.23wmf10'),
self._make('1.23wmf9'))
- self.assertEqual(self._make('1.23wmf10'),
self._make('1.23wmf10'))
+ self.assertGreater(self._make('1.33wmf10'),
self._make('1.33wmf9'))
+ self.assertEqual(self._make('1.33wmf10'),
self._make('1.33wmf10'))
def test_combined_versions(self):
"""Test comparison between wmf versions and release
versions."""
- self.assertGreater(self._make('1.23wmf10'),
self._make('1.22.3'))
- self.assertGreater(self._make('1.23'), self._make('1.23wmf10'))
+ self.assertGreater(self._make('1.33wmf10'),
self._make('1.32.3'))
+ self.assertGreater(self._make('1.33'), self._make('1.33wmf10'))
def test_non_wmf_scheme(self):
"""Test version numbers not following the
wmf-scheme."""
- self.assertGreater(self._make('1.23alpha'),
self._make('1.22.3'))
- self.assertGreater(self._make('1.23alpha'),
self._make('1.23wmf1'))
- self.assertGreater(self._make('1.23beta1'),
self._make('1.23alpha'))
- self.assertGreater(self._make('1.23beta2'),
self._make('1.23beta1'))
- self.assertGreater(self._make('1.23-rc.1'),
self._make('1.23beta2'))
- self.assertGreater(self._make('1.23-rc.2'),
self._make('1.23-rc.1'))
- self.assertGreater(self._make('1.23'), self._make('1.23-rc.2'))
- self.assertEqual(self._make('1.23rc1'), self._make('1.23-rc.1'))
+ self.assertGreater(self._make('1.33alpha'),
self._make('1.32.3'))
+ self.assertGreater(self._make('1.33alpha'),
self._make('1.33wmf1'))
+ self.assertGreater(self._make('1.33beta1'),
self._make('1.33alpha'))
+ self.assertGreater(self._make('1.33beta2'),
self._make('1.33beta1'))
+ self.assertGreater(self._make('1.33-rc.1'),
self._make('1.33beta2'))
+ self.assertGreater(self._make('1.33-rc.2'),
self._make('1.33-rc.1'))
+ self.assertGreater(self._make('1.33'), self._make('1.33-rc.2'))
+ self.assertEqual(self._make('1.33rc1'), self._make('1.33-rc.1'))
def _version_check(self, version, digits, dev_version, suffix):
v = self._make(version)
@@ -61,15 +61,15 @@
def test_interpretation(self):
"""Test if the data is correctly interpreted."""
- self._version_check('1.23', (1, 23), (4, ), '')
- self._version_check('1.23wmf1', (1, 23), (0, 1), 'wmf1')
- self._version_check('1.23alpha', (1, 23), (1, ), 'alpha')
+ self._version_check('1.33', (1, 33), (4, ), '')
+ self._version_check('1.33wmf1', (1, 33), (0, 1), 'wmf1')
+ self._version_check('1.33alpha', (1, 33), (1, ), 'alpha')
self._version_check('1.27.0-alpha', (1, 27, 0), (1, ), '-alpha')
- self._version_check('1.23beta1', (1, 23), (2, 1), 'beta1')
- self._version_check('1.23rc1', (1, 23), (3, 1), 'rc1')
- self._version_check('1.23-rc1', (1, 23), (3, 1), '-rc1')
- self._version_check('1.23-rc.1', (1, 23), (3, 1), '-rc.1')
- self._version_check('1.23text', (1, 23), (4, ), 'text')
+ self._version_check('1.33beta1', (1, 33), (2, 1), 'beta1')
+ self._version_check('1.33rc1', (1, 33), (3, 1), 'rc1')
+ self._version_check('1.33-rc1', (1, 33), (3, 1), '-rc1')
+ self._version_check('1.33-rc.1', (1, 33), (3, 1), '-rc.1')
+ self._version_check('1.33text', (1, 33), (4, ), 'text')
def test_invalid_versions(self):
"""Verify that insufficient version fail
creating."""
@@ -88,7 +88,7 @@
with self.assertRaisesRegex(
AssertionError,
'Found \"wmf\" in \"wmf-1\"'):
- MediaWikiVersion('1.23wmf-1')
+ MediaWikiVersion('1.33wmf-1')
def test_generator(self):
"""Test from_generator classmethod."""
diff --git a/tests/page_tests.py b/tests/page_tests.py
index b7ae037..ccdbab3 100644
--- a/tests/page_tests.py
+++ b/tests/page_tests.py
@@ -593,10 +593,7 @@
mainpage = self.get_mainpage()
image = pywikibot.FilePage(site, 'File:Jean-Léon Gérôme 003.jpg')
- if site.mw_version < '1.20':
- with self.assertRaises(NotImplementedError):
- mainpage.page_image()
- elif site.has_extension('PageImages'):
+ if site.has_extension('PageImages'):
mainpage_image = mainpage.page_image()
if mainpage_image is not None:
self.assertIsInstance(mainpage_image, pywikibot.FilePage)
diff --git a/tests/pagegenerators_tests.py b/tests/pagegenerators_tests.py
index b50aa56..a35cce4 100755
--- a/tests/pagegenerators_tests.py
+++ b/tests/pagegenerators_tests.py
@@ -1175,8 +1175,6 @@
def test_pages_with_property_generator(self):
"""Test the pages_with_property_generator
method."""
mysite = self.get_site()
- if mysite.mw_version < '1.21':
- self.skipTest('requires v1.21+')
for item in ('defaultsort', 'disambiguation',
'displaytitle',
'hiddencat', 'invalid_property'):
if item in mysite.get_property_names():
diff --git a/tests/paraminfo_tests.py b/tests/paraminfo_tests.py
index 52288e9..12004aa 100644
--- a/tests/paraminfo_tests.py
+++ b/tests/paraminfo_tests.py
@@ -1,6 +1,6 @@
"""Test confirming paraminfo contains expected values."""
#
-# (C) Pywikibot team, 2015-2020
+# (C) Pywikibot team, 2015-2021
#
# Distributed under the terms of the MIT license.
#
@@ -91,12 +91,10 @@
def test_watchlist_type(self):
"""Test watchlist type."""
- known = ['edit', 'new', 'log']
+ known = ['edit', 'external', 'new', 'log']
mw_ver = self.site.mw_version
- if mw_ver >= '1.20':
- known.append('external')
if mw_ver.version >= (1, 27):
if mw_ver >= '1.27.0-wmf.4' or mw_ver.suffix == 'alpha':
known.append('categorize')
diff --git a/tests/site_decorators_tests.py b/tests/site_decorators_tests.py
index 55f3d72..cf70f43 100644
--- a/tests/site_decorators_tests.py
+++ b/tests/site_decorators_tests.py
@@ -31,7 +31,7 @@
self._userinfo = []
self.obsolete = False
super().setUp()
- self.version = lambda: '1.19' # lowest supported release
+ self.version = lambda: '1.23' # lowest supported release
def login(self, group):
"""Fake the log in as required user group."""
@@ -143,7 +143,7 @@
self._userinfo = []
self.obsolete = False
super().setUp()
- self.version = lambda: '1.14' # lowest supported release
+ self.version = lambda: '1.23' # lowest supported release
def login(self, group, right):
"""Fake the log in as required user group."""
diff --git a/tests/site_detect_tests.py b/tests/site_detect_tests.py
index 2682b60..813e890 100644
--- a/tests/site_detect_tests.py
+++ b/tests/site_detect_tests.py
@@ -97,7 +97,7 @@
def test_tfwiki(self):
"""Test detection of MediaWiki sites for
tfwiki.net."""
-
self.assertSite('http://tfwiki.net/wiki/$1')
+
self.assertNoSite('http://tfwiki.net/wiki/$1') # 1.19.5-1+deb7u1
class Pre119SiteTestCase(SiteDetectionTestCase):
diff --git a/tests/site_tests.py b/tests/site_tests.py
index 1960645..3f3a863 100644
--- a/tests/site_tests.py
+++ b/tests/site_tests.py
@@ -425,16 +425,16 @@
"""Test Site.pagetemplates."""
tl_gen = self.site.pagetemplates(self.mainpage)
expected_params = {
- 'titles': [self.mainpage.title()],
- 'prop': ['info', 'imageinfo',
'categoryinfo'],
+ 'continue': [True],
'inprop': ['protection'],
'iilimit': ['max'],
- 'iiprop': ['timestamp', 'user', 'comment',
'url', 'size',
- 'sha1', 'metadata'],
+ 'iiprop': ['timestamp', 'user', 'comment',
'url', 'size', 'sha1',
+ 'metadata'],
+ 'indexpageids': [True],
'generator': ['templates'], 'action':
['query'],
- 'indexpageids': [True]}
- if self.site.mw_version >= '1.21':
- expected_params['continue'] = [True]
+ 'prop': ['info', 'imageinfo',
'categoryinfo'],
+ 'titles': [self.mainpage.title()],
+ }
self.assertEqual(tl_gen.request._params, expected_params)
@@ -460,19 +460,19 @@
links_gen = self.site.pagelinks(self.mainpage)
gen_params = links_gen.request._params.copy()
expected_params = {
- 'redirects': [False],
- 'prop': ['info', 'imageinfo',
'categoryinfo'],
+ 'action': ['query'], 'indexpageids': [True],
+ 'continue': [True],
'inprop': ['protection'],
'iilimit': ['max'],
'iiprop': ['timestamp', 'user', 'comment',
'url', 'size',
'sha1', 'metadata'], 'generator':
['links'],
- 'action': ['query'], 'indexpageids': [True]}
+ 'prop': ['info', 'imageinfo',
'categoryinfo'],
+ 'redirects': [False],
+ }
if 'pageids' in gen_params:
expected_params['pageids'] = [str(self.mainpage.pageid)]
else:
expected_params['titles'] = [self.mainpage.title()]
- if self.site.mw_version >= '1.21':
- expected_params['continue'] = [True]
self.assertEqual(gen_params, expected_params)
@@ -875,8 +875,6 @@
def test_pages_with_property(self):
"""Test pages_with_property method."""
- if self.site.mw_version < '1.21':
- self.skipTest('requires v1.21+')
mysite = self.get_site()
pnames = mysite.get_property_names()
for item in ('defaultsort', 'disambiguation',
'displaytitle',
diff --git a/tests/token_tests.py b/tests/token_tests.py
index 05b2471..8e2de1f 100644
--- a/tests/token_tests.py
+++ b/tests/token_tests.py
@@ -55,7 +55,7 @@
self.mysite.version = lambda: test_version
- for ttype in ('edit', 'move', additional_token):
+ for ttype in ('edit', 'move', 'delete', 'patrol',
additional_token):
tokentype = self.mysite.validate_tokens([ttype])
try:
token = self.mysite.tokens[ttype]
@@ -77,21 +77,9 @@
# test __contains__
self.assertIn(tokentype[0], self.mysite.tokens)
- def test_tokens_in_mw_119(self):
+ def test_tokens_in_mw_123_124wmf18(self):
"""Test ability to get page tokens."""
- self._test_tokens(None, '1.19', 'delete')
-
- def test_patrol_tokens_in_mw_119(self):
- """Test ability to get patrol token on MW 1.19
wiki."""
- self._test_tokens('1.19', '1.19', 'patrol')
-
- def test_tokens_in_mw_120_124wmf18(self):
- """Test ability to get page tokens."""
- self._test_tokens('1.20', '1.21', 'deleteglobalaccount')
-
- def test_patrol_tokens_in_mw_120(self):
- """Test ability to get patrol token."""
- self._test_tokens('1.19', '1.20', 'patrol')
+ self._test_tokens('1.23', '1.24wmf18',
'deleteglobalaccount')
def test_tokens_in_mw_124wmf19(self):
"""Test ability to get page tokens."""
@@ -168,9 +156,7 @@
result = result[0]
self.assertIsInstance(result, dict)
- params = {'rcid': 0}
- if mysite.mw_version >= '1.22':
- params['revid'] = [0, 1]
+ params = {'rcid': 0, 'revid': [0, 1]}
raised = False
try:
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/672374
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: I59af705e4503826784f200bd1f7a40058d286c9a
Gerrit-Change-Number: 672374
Gerrit-PatchSet: 3
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: DannyS712 <dannys712.wiki(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged