[Pywikipedia-l] SVN: [5949] trunk/pywikipedia

russblau at svn.wikimedia.org russblau at svn.wikimedia.org
Fri Oct 10 14:14:04 UTC 2008


Revision: 5949
Author:   russblau
Date:     2008-10-10 14:14:04 +0000 (Fri, 10 Oct 2008)

Log Message:
-----------
Allow normalizeNamespace to work with Turkish dotted capital I.

Modified Paths:
--------------
    trunk/pywikipedia/family.py
    trunk/pywikipedia/wikipedia.py

Modified: trunk/pywikipedia/family.py
===================================================================
--- trunk/pywikipedia/family.py	2008-10-10 13:55:06 UTC (rev 5948)
+++ trunk/pywikipedia/family.py	2008-10-10 14:14:04 UTC (rev 5949)
@@ -2800,8 +2800,11 @@
                 if value in v: return v[0]
             else:
                 if value == v: return v
-            if value == self.namespace('_default', ns):
-                return self.namespace(code, ns)
+            try:
+                if value == self.namespace('_default', ns):
+                    return self.namespace(code, ns)
+            except KeyError:
+                pass
         return value
 
     def getNamespaceIndex(self, lang, namespace):

Modified: trunk/pywikipedia/wikipedia.py
===================================================================
--- trunk/pywikipedia/wikipedia.py	2008-10-10 13:55:06 UTC (rev 5948)
+++ trunk/pywikipedia/wikipedia.py	2008-10-10 14:14:04 UTC (rev 5949)
@@ -5812,8 +5812,10 @@
         If no match, return 'value' unmodified.
 
         """
-        if not self.nocapitalize and value[0].islower():
-            value = value[0].upper() + value[1:]
+        if not self.nocapitalize:
+            # make sure first letter gets normalized; there is at least
+            # one case ("İ") in which s.lower().upper() != s
+            value = value[0].lower().upper() + value[1:]
         return self.family.normalizeNamespace(self.lang, value)
 
     def namespaces(self):





More information about the Pywikipedia-l mailing list