[Pywikipedia-l] SVN: [4669] trunk/pywikipedia
rotem at svn.wikimedia.org
rotem at svn.wikimedia.org
Sun Dec 9 15:41:33 UTC 2007
Revision: 4669
Author: rotem
Date: 2007-12-09 15:41:27 +0000 (Sun, 09 Dec 2007)
Log Message:
-----------
Check if the namespace is defined for this language when verifying family data.
Modified Paths:
--------------
trunk/pywikipedia/family.py
trunk/pywikipedia/wikipedia.py
Modified: trunk/pywikipedia/family.py
===================================================================
--- trunk/pywikipedia/family.py 2007-12-09 15:27:34 UTC (rev 4668)
+++ trunk/pywikipedia/family.py 2007-12-09 15:41:27 UTC (rev 4669)
@@ -2423,6 +2423,19 @@
(it has a custom entry for a given language)"""
return self.namespaces[ns_number].has_key(code)
+ def isDefinedNSLanguage(self, ns_number, code, fallback='_default'):
+ """Return True if the namespace has been defined in this family
+ for this language or its fallback.
+ """
+ if not self.isDefinedNS(ns_number):
+ return False
+ elif self.isNsI18N(ns_number, code):
+ return True
+ elif fallback and self.isNsI18N(ns_number, fallback):
+ return True
+ else:
+ return False
+
def normalizeNamespace(self, code, value):
"""Given a value, attempt to match it with all available namespaces,
with default and localized versions. Sites may have more than one
Modified: trunk/pywikipedia/wikipedia.py
===================================================================
--- trunk/pywikipedia/wikipedia.py 2007-12-09 15:27:34 UTC (rev 4668)
+++ trunk/pywikipedia/wikipedia.py 2007-12-09 15:41:27 UTC (rev 4669)
@@ -2454,7 +2454,7 @@
ids.sort()
for id in ids:
nshdr = header.namespaces[id]
- if self.site.family.isDefinedNS(id):
+ if self.site.family.isDefinedNSLanguage(id, lang):
ns = self.site.namespace(id)
if ns == None:
ns = u''
More information about the Pywikipedia-l
mailing list