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]

Reply via email to