XZise has uploaded a new change for review. https://gerrit.wikimedia.org/r/171821
Change subject: [FEAT] Use namespaces attribute as property ...................................................................... [FEAT] Use namespaces attribute as property With ce164aa7d14f3ca7baf437e0523d7e2627fbe1f3 the namespaces attribute became a property which is used in this change. Change-Id: I11b1564f48a26f0f15cd5ba6f69f66e35e25c723 --- M pywikibot/page.py M pywikibot/pagegenerators.py M pywikibot/site.py M pywikibot/textlib.py M scripts/solve_disambiguation.py M tests/page_tests.py M tests/site_tests.py M tests/wikibase_tests.py 8 files changed, 18 insertions(+), 21 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core refs/changes/21/171821/1 diff --git a/pywikibot/page.py b/pywikibot/page.py index 5228395..9a5f9bf 100644 --- a/pywikibot/page.py +++ b/pywikibot/page.py @@ -4159,8 +4159,8 @@ raise pywikibot.InvalidTitle("The link does not contain a page " "title") - if hasattr(self._site.namespaces()[self._namespace], 'case'): - case = self._site.namespaces()[self._namespace].case + if hasattr(self._site.namespaces[self._namespace], 'case'): + case = self._site.namespaces[self._namespace].case else: case = self._site.case() @@ -4241,8 +4241,8 @@ """ ns_id = self.namespace - ns = self.site.namespaces()[ns_id] - ns_names = list(self.site.namespaces()[ns_id]) + ns = self.site.namespaces[ns_id] + ns_names = list(ns) if onsite is None: namespace = ns.canonical_name @@ -4254,7 +4254,7 @@ if onsite_ns is None: raise pywikibot.Error( u'No corresponding namespace found for namespace %s on %s.' - % (self.site.namespaces()[ns_id], onsite)) + % (self.site.namespaces[ns_id], onsite)) else: namespace = onsite_ns.custom_name diff --git a/pywikibot/pagegenerators.py b/pywikibot/pagegenerators.py index 319089e..ecc0b57 100644 --- a/pywikibot/pagegenerators.py +++ b/pywikibot/pagegenerators.py @@ -318,7 +318,7 @@ # Link.parse() when categoryname contains ":"; # Part before ":" might be interpreted as an interwiki prefix prefix = categoryname.split(":", 1)[0] # whole word if ":" not present - if prefix not in self.site.namespaces()[14]: + if prefix not in self.site.namespaces[14]: categoryname = u'{0}:{1}'.format(self.site.namespace(14), categoryname) cat = pywikibot.Category(pywikibot.Link(categoryname, diff --git a/pywikibot/site.py b/pywikibot/site.py index b167707..cd6fae8 100644 --- a/pywikibot/site.py +++ b/pywikibot/site.py @@ -636,10 +636,7 @@ def ns_index(self, namespace): """Given a namespace name, return its int index, or None if invalid.""" - for ns in self.namespaces(): - if namespace.lower() in [name.lower() - for name in self.namespaces()[ns]]: - return ns + return Namespace.lookup_name(namespace, namespaces=self.namespaces) # for backwards-compatibility getNamespaceIndex = redirect_func(ns_index, old_name='getNamespaceIndex', @@ -2170,8 +2167,8 @@ """ if all: - return self.namespaces()[num] - return self.namespaces()[num][0] + return self.namespaces[num] + return self.namespaces[num][0] @deprecated("version()") def live_version(self, force=False): diff --git a/pywikibot/textlib.py b/pywikibot/textlib.py index cd23724..33003b4 100644 --- a/pywikibot/textlib.py +++ b/pywikibot/textlib.py @@ -890,7 +890,7 @@ category, separator, sortKey = category.strip('[]').partition('|') sortKey = sortKey if separator else None prefix = category.split(":", 1)[0] # whole word if no ":" is present - if prefix not in insite.namespaces()[14]: + if prefix not in insite.namespaces[14]: category = u'{0}:{1}'.format(insite.namespace(14), category) category = pywikibot.Category(pywikibot.Link(category, insite, diff --git a/scripts/solve_disambiguation.py b/scripts/solve_disambiguation.py index c3edae1..b32e0ef 100644 --- a/scripts/solve_disambiguation.py +++ b/scripts/solve_disambiguation.py @@ -983,7 +983,7 @@ ignore_title[self.mysite.family.name][self.mylang] += [ u'%s:' % ns for namespace in self.mysite.namespaces() - for ns in self.mysite.namespaces()[namespace] + for ns in self.mysite.namespaces[namespace] ] for disambPage in self.generator: diff --git a/tests/page_tests.py b/tests/page_tests.py index 09993ff..1bb1fde 100644 --- a/tests/page_tests.py +++ b/tests/page_tests.py @@ -185,8 +185,8 @@ site = self.get_site() p1 = pywikibot.Page(site, u"Help:Test page#Testing") ns_name = u"Help" - if site.namespaces()[12][0] != ns_name: - ns_name = site.namespaces()[12][0] + if site.namespaces[12][0] != ns_name: + ns_name = site.namespaces[12][0] self.assertEqual(p1.title(), ns_name + u":Test page#Testing") self.assertEqual(p1.title(underscore=True), @@ -221,8 +221,8 @@ site = self.get_site() p2 = pywikibot.Page(site, u"File:Jean-Léon Gérôme 003.jpg") ns_name = u"File" - if site.namespaces()[6][0] != ns_name: - ns_name = site.namespaces()[6][0] + if site.namespaces[6][0] != ns_name: + ns_name = site.namespaces[6][0] self.assertEqual(p2.title(), u"File:Jean-Léon Gérôme 003.jpg") self.assertEqual(p2.title(underscore=True), diff --git a/tests/site_tests.py b/tests/site_tests.py index 30c2644..10d36ed 100644 --- a/tests/site_tests.py +++ b/tests/site_tests.py @@ -1501,9 +1501,9 @@ def testNamespaceCase(self): site = self.get_site() - main_namespace = site.namespaces()[0] + main_namespace = site.namespaces[0] self.assertEqual(main_namespace.case, 'case-sensitive') - user_namespace = site.namespaces()[2] + user_namespace = site.namespaces[2] self.assertEqual(user_namespace.case, 'first-letter') diff --git a/tests/wikibase_tests.py b/tests/wikibase_tests.py index c9ec516..ca49782 100644 --- a/tests/wikibase_tests.py +++ b/tests/wikibase_tests.py @@ -44,7 +44,7 @@ def testWikibase(self): repo = self.get_repo() - item_namespace = repo.namespaces()[0] + item_namespace = repo.namespaces[0] self.assertEqual(item_namespace.defaultcontentmodel, 'wikibase-item') item = pywikibot.ItemPage.fromPage(self.mainpage) self.assertIsInstance(item, pywikibot.ItemPage) -- To view, visit https://gerrit.wikimedia.org/r/171821 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I11b1564f48a26f0f15cd5ba6f69f66e35e25c723 Gerrit-PatchSet: 1 Gerrit-Project: pywikibot/core Gerrit-Branch: master Gerrit-Owner: XZise <commodorefabia...@gmx.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits