Revision: 7465
Author:   alexsh
Date:     2009-10-14 17:59:24 +0000 (Wed, 14 Oct 2009)

Log Message:
-----------
Page().getTemplates(): fix API structure bug

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

Modified: trunk/pywikipedia/wikipedia.py
===================================================================
--- trunk/pywikipedia/wikipedia.py      2009-10-14 17:03:38 UTC (rev 7464)
+++ trunk/pywikipedia/wikipedia.py      2009-10-14 17:59:24 UTC (rev 7465)
@@ -1052,18 +1052,16 @@
         tmpsFound = []
         count = 0
         while True:
-            data = query.GetData(params, self.site(), encodeTitle = False)
-            pageid = data[u'query'][u'pages'].keys()[0]
-            if type(data['query']['pages'][pageid].values()[0]) == 
type(list()): # if it's not a list: no templates
-                for tmp in data['query']['pages'][pageid].values()[0]:
-                    count += 1
-                    try:
-                        tmpsFound.append(Page(self.site(), tmp['title'], 
defaultNamespace=tmp['ns']) )
-                    except TypeError: # no templates in the file.
-                        pass
-                    if count >= tllimit:
-                        break
+            data = query.GetData(params, self.site(), encodeTitle = 
False)['query']['pages'].values()[0]
+            if "templates" not in data:
+                return []
             
+            for tmp in data['templates']:
+                count += 1
+                tmpsFound.append(Page(self.site(), tmp['title'], 
defaultNamespace=tmp['ns']) )
+                if count >= tllimit:
+                    break
+            
             if 'query-continue' in data and count < tllimit:
                 params["tlcontinue"] = 
data["query-continue"]["templates"]["tlcontinue"]
             else:



_______________________________________________
Pywikipedia-svn mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-svn

Reply via email to