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

Reply via email to