jenkins-bot submitted this change.

View Change

Approvals: Matěj Suchánek: Looks good to me, but someone else must approve Xqt: Looks good to me, approved jenkins-bot: Verified
[cleanup] Remove DataSite get_* methods deprecated for 6 years

Change-Id: I44d9a7efd8f3fcae0807a23079b2db4cd713eeaf
---
M pywikibot/site/__init__.py
M tests/wikibase_tests.py
2 files changed, 0 insertions(+), 137 deletions(-)

diff --git a/pywikibot/site/__init__.py b/pywikibot/site/__init__.py
index 98b12a7..60d563c 100644
--- a/pywikibot/site/__init__.py
+++ b/pywikibot/site/__init__.py
@@ -10,7 +10,6 @@
# Distributed under the terms of the MIT license.
#
import datetime
-import functools
import heapq
import inspect
import itertools
@@ -5942,92 +5941,6 @@

return baserevid

- def __getattr__(self, attr):
- """
- Provide data access methods.
-
- Methods provided are get_info, get_sitelinks, get_aliases,
- get_labels, get_descriptions, and get_urls.
- """
- if hasattr(self.__class__, attr):
- return getattr(self.__class__, attr)
- if attr.startswith('get_'):
- props = attr.replace('get_', '')
- if props in ['info', 'sitelinks', 'aliases', 'labels',
- 'descriptions', 'urls']:
- if props == 'info':
- instead = (
- '\n'
- "{'lastrevid': ItemPage.latest_revision_id,\n"
- " 'pageid': ItemPage.pageid,\n"
- " 'title': ItemPage.title(),\n"
- " 'modified': ItemPage._timestamp,\n"
- " 'ns': ItemPage.namespace(),\n"
- " 'type': ItemPage.entity_type, # for subclasses\n"
- " 'id': ItemPage.id"
- '}\n')
- elif props == 'sitelinks':
- instead = 'ItemPage.sitelinks'
- elif props in ('aliases', 'labels', 'descriptions'):
- instead = ('ItemPage.{0} after ItemPage.get()'
- .format(attr))
- else: # urls
- instead = None
- issue_deprecation_warning('DataSite.{0}()'.format(attr),
- instead, warning_class=FutureWarning,
- since='20151022')
- if props == 'urls':
- props = 'sitelinks/urls'
- method = self._get_propertyitem
- f = functools.partial(method, props)
- if hasattr(method, '__doc__'):
- f.__doc__ = method.__doc__
- return f
-
- return super().__getattr__(attr)
-
- def _get_propertyitem(self, props, source, **params):
- """Generic method to get the data for multiple Wikibase items."""
- wbdata = self._get_item(source, props=props, **params)
- if props == 'info':
- return wbdata
-
- if props == 'sitelinks/urls':
- props = 'sitelinks'
-
- assert props in wbdata, \
- 'API wbgetentities response lacks %s key' % props
- return wbdata[props]
-
- # Only separated from get_item to avoid the deprecation message via
- # _get_propertyitem
- def _get_item(self, source, **params):
- assert set(params) <= {'props'}, \
- 'Only "props" is a valid kwarg, not {0}'.format(set(params)
- - {'props'})
- try:
- source = int(source)
- except ValueError:
- raise NotImplementedError
- ids = 'q' + str(source)
- params = merge_unique_dicts(params, action='wbgetentities',
- ids=ids)
- wbrequest = self._simple_request(**params)
- wbdata = wbrequest.submit()
- assert 'success' in wbdata, \
- "API wbgetentities response lacks 'success' key"
- assert wbdata['success'] == 1, "API 'success' key is not 1"
- assert 'entities' in wbdata, \
- "API wbgetentities response lacks 'entities' key"
-
- if ids.upper() in wbdata['entities']:
- ids = ids.upper()
-
- assert ids in wbdata['entities'], \
- 'API wbgetentities response lacks %s key' % ids
-
- return wbdata['entities'][ids]
-
def data_repository(self):
"""
Override parent method.
diff --git a/tests/wikibase_tests.py b/tests/wikibase_tests.py
index 7cff163..f77af864 100644
--- a/tests/wikibase_tests.py
+++ b/tests/wikibase_tests.py
@@ -2428,56 +2428,6 @@
self.assertEqual(diff, expected)


-class TestDeprecatedDataSiteMethods(WikidataTestCase, DeprecationTestCase):
-
- """Test deprecated DataSite get_* methods."""
-
- cached = True
-
- def test_get_info(self):
- """Test get_info."""
- data = self.repo.get_info(60)
- self.assertOneDeprecation()
- self.assertIsInstance(data, dict)
- self.assertIn('title', data)
- self.assertEqual(data['title'], 'Q60')
-
- def test_get_labels(self):
- """Test get_labels."""
- data = self.repo.get_labels(60)
- self.assertOneDeprecation()
- self.assertIsInstance(data, dict)
- self.assertIn('en', data)
-
- def test_get_aliases(self):
- """Test get_aliases."""
- data = self.repo.get_aliases(60)
- self.assertOneDeprecation()
- self.assertIsInstance(data, dict)
- self.assertIn('fr', data) # T170073
-
- def test_get_descriptions(self):
- """Test get_descriptions."""
- data = self.repo.get_descriptions(60)
- self.assertOneDeprecation()
- self.assertIsInstance(data, dict)
- self.assertIn('en', data)
-
- def test_get_sitelinks(self):
- """Test get_sitelinks."""
- data = self.repo.get_sitelinks(60)
- self.assertOneDeprecation()
- self.assertIsInstance(data, dict)
- self.assertIn('enwiki', data)
-
- def test_get_urls(self):
- """Test get_urls."""
- data = self.repo.get_urls(60)
- self.assertOneDeprecation()
- self.assertIsInstance(data, dict)
- self.assertIn('enwiki', data)
-
-
if __name__ == '__main__': # pragma: no cover
with suppress(SystemExit):
unittest.main()

To view, visit change 659769. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I44d9a7efd8f3fcae0807a23079b2db4cd713eeaf
Gerrit-Change-Number: 659769
Gerrit-PatchSet: 2
Gerrit-Owner: Xqt <info@gno.de>
Gerrit-Reviewer: Matěj Suchánek <matejsuchanek97@gmail.com>
Gerrit-Reviewer: Xqt <info@gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged