jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1195273?usp=email )
Change subject: Add deprecation tag for Family.interwiki_replacement
......................................................................
Add deprecation tag for Family.interwiki_replacement
Bug: T399440
Change-Id: I27c4cc09b1d81d9220ba41fd6ffde58f79e240f9
---
M ROADMAP.rst
M pywikibot/family.py
M tests/family_tests.py
3 files changed, 19 insertions(+), 5 deletions(-)
Approvals:
jenkins-bot: Verified
Xqt: Looks good to me, approved
diff --git a/ROADMAP.rst b/ROADMAP.rst
index 3e5439f..62efaeb 100644
--- a/ROADMAP.rst
+++ b/ROADMAP.rst
@@ -5,6 +5,8 @@
be given as keyword arguments.
* Return :meth:`bot.BaseBot.userPut` result with
:meth:`AutomaticTWSummaryBot.put_current()
<bot.AutomaticTWSummaryBot.put_current>` method
+* :meth:`Family.interwiki_replacements<family.Family.interwiki_replacements>`
is deprecated;
+ use :attr:`Family.code_aliases<family.Family.code_aliases>` instead.
Deprecations
@@ -13,6 +15,8 @@
Pending removal in Pywikibot 13
-------------------------------
+* 10.6.0:
:meth:`Family.interwiki_replacements<family.Family.interwiki_replacements>` is
deprecated;
+ use :attr:`Family.code_aliases<family.Family.code_aliases>` instead.
* 10.6.0: Positional arguments of :func:`daemonize()<daemonize.daemonize>` are
deprecated and must
be given as keyword arguments.
* 10.5.0: Accessing the fallback '*' keys in 'languages', 'namespaces',
'namespacealiases', and
diff --git a/pywikibot/family.py b/pywikibot/family.py
index 9197646..73c4379 100644
--- a/pywikibot/family.py
+++ b/pywikibot/family.py
@@ -732,7 +732,7 @@
:return: mapping of old codes to new codes (or None)
"""
data = dict.fromkeys(self.interwiki_removals)
- data.update(self.interwiki_replacements)
+ data.update(self.code_aliases)
return types.MappingProxyType(data)
@classproperty
@@ -749,6 +749,7 @@
return set(cls.langs.keys())
@classproperty
+ @deprecated('code_aliases', since='10.6.0')
def interwiki_replacements(cls) -> Mapping[str, str]:
"""Return an interwiki code replacement mapping.
@@ -757,6 +758,8 @@
xx: now should get code yy:, add {'xx':'yy'} to
:attr:`code_aliases`.
+ .. deprecated:: 10.6
+ Use :attr:`code_aliases` directly instead.
.. versionchanged:: 8.2
changed from dict to invariant mapping.
"""
diff --git a/tests/family_tests.py b/tests/family_tests.py
index ca8d349..b232698 100755
--- a/tests/family_tests.py
+++ b/tests/family_tests.py
@@ -13,6 +13,7 @@
import pywikibot
from pywikibot.exceptions import UnknownFamilyError
from pywikibot.family import Family, SingleSiteFamily
+from pywikibot.tools import suppress_warnings
from tests.aspects import PatchingTestCase, TestCase, unittest
from tests.utils import DrySite
@@ -100,13 +101,16 @@
self.assertIsInstance(family.obsolete, Mapping)
# redirected code (see site tests test_alias_code_site)
self.assertEqual(family.code_aliases['dk'], 'da')
- self.assertEqual(family.interwiki_replacements['dk'], 'da')
+ msg = 'pywikibot.family.Family.interwiki_replacements is deprecated'
+ with suppress_warnings(msg, FutureWarning):
+ self.assertEqual(family.interwiki_replacements['dk'], 'da')
self.assertEqual(family.obsolete['dk'], 'da')
# closed/locked site (see site tests test_locked_site)
self.assertIsNone(family.obsolete['mh'])
# offline site (see site tests test_removed_site)
self.assertIsNone(family.obsolete['ru-sib'])
- self.assertIn('dk', family.interwiki_replacements)
+ with suppress_warnings(msg, FutureWarning):
+ self.assertIn('dk', family.interwiki_replacements)
def test_obsolete_from_attributes(self) -> None:
"""Test obsolete property for given class attributes."""
@@ -114,14 +118,17 @@
family = type('TempFamily', (Family,), {})()
self.assertEqual(family.obsolete, {})
- self.assertEqual(family.interwiki_replacements, {})
+ msg = 'pywikibot.family.Family.interwiki_replacements is deprecated'
+ with suppress_warnings(msg, FutureWarning):
+ self.assertEqual(family.interwiki_replacements, {})
self.assertEqual(family.interwiki_removals, frozenset())
# Construct a temporary family with other attributes and instantiate it
family = type('TempFamily', (Family,),
{'code_aliases': {'a': 'b'}, 'closed_wikis': ['c']})()
self.assertEqual(family.obsolete, {'a': 'b', 'c': None})
- self.assertEqual(family.interwiki_replacements, {'a': 'b'})
+ with suppress_warnings(msg, FutureWarning):
+ self.assertEqual(family.interwiki_replacements, {'a': 'b'})
self.assertEqual(family.interwiki_removals, frozenset('c'))
def test_obsolete_readonly(self) -> None:
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1195273?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I27c4cc09b1d81d9220ba41fd6ffde58f79e240f9
Gerrit-Change-Number: 1195273
Gerrit-PatchSet: 4
Gerrit-Owner: Sanjai Siddharthan <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]