[Pywikipedia-l] SVN: [6408] trunk/pywikipedia/checkimages.py

filnik at svn.wikimedia.org filnik at svn.wikimedia.org
Sun Feb 22 10:53:08 UTC 2009


Revision: 6408
Author:   filnik
Date:     2009-02-22 10:53:08 +0000 (Sun, 22 Feb 2009)

Log Message:
-----------
Moving two functions to catlib.py 

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

Modified: trunk/pywikipedia/checkimages.py
===================================================================
--- trunk/pywikipedia/checkimages.py	2009-02-22 10:53:00 UTC (rev 6407)
+++ trunk/pywikipedia/checkimages.py	2009-02-22 10:53:08 UTC (rev 6408)
@@ -496,59 +496,7 @@
             wikipedia.output(u'No data found.')
             return False
 
-def categoryAllElements(CatName, cmlimit = 5000, categories_parsed = []):
-    #action=query&list=categorymembers&cmlimit=500&cmtitle=Category:License_tags
-    """
-    Category to load all the elements in a category. Limit: 5000 elements.
-    """
-    wikipedia.output("Loading %s..." % CatName)
-    
-    params = {
-        'action'    :'query',
-        'list'      :'categorymembers',
-        'cmlimit'   :cmlimit,
-        'cmtitle'   :CatName,
-        }
 
-    data = query.GetData(params,
-                    useAPI = True, encodeTitle = False)
-    categories_parsed.append(CatName)
-    try:
-        members = data['query']['categorymembers']
-    except KeyError:
-        if int(cmlimit) != 500:
-            wikipedia.output(u'An Error occured, trying to reload the category.')
-            return categoryAllElements(CatName, cmlimit = 500)
-        else:
-            raise wikipedia.Error(data)
-    if len(members) == int(cmlimit):
-        raise wikipedia.Error(u'The category selected has >= %s elements, limit reached.' % cmlimit)
-    allmembers = members
-    results = list()
-    for subcat in members:
-        ns = subcat['ns']
-        pageid = subcat['pageid']
-        title = subcat['title']
-        if ns == 14:
-            if title not in categories_parsed:
-                categories_parsed.append(title)
-                (results_part, categories_parsed) = categoryAllElements(title, 5000, categories_parsed)
-                allmembers.extend(results_part)
-    for member in allmembers:
-        ns = member['ns']
-        pageid = member['pageid']
-        title = member['title']
-        results.append(member)
-    return (results, categories_parsed)
-def categoryAllPageObjects(CatName):
-    """
-    From a list of dictionaries, return a list of page objects.
-    """
-    final = list()
-    for element in categoryAllElements(CatName)[0]:
-        final.append(wikipedia.Page(wikipedia.getSite(), element['title']))
-    return final
-
 # Here there is the main class.
 class main:
     def __init__(self, site, logFulNumber = 25000, sendemailActive = False,
@@ -1086,7 +1034,7 @@
         if catName == None:
             raise wikipedia.Error(u'No licenses allowed provided, add that option to the code to make the script working correctly')
         wikipedia.output(u'\n\t...Loading the licenses allowed...\n')
-        list_licenses = categoryAllPageObjects(catName)
+        list_licenses = catlib.categoryAllPageObjectsAPI(catName)
         wikipedia.output('') # blank line
 
         # Add the licenses set in the default page as licenses





More information about the Pywikipedia-l mailing list