summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Laska <jlaska@redhat.com>2011-06-17 10:21:40 -0400
committerJames Laska <jlaska@redhat.com>2011-06-17 10:21:40 -0400
commitb32d33610affaadf67f342e270a98c80ab61d847 (patch)
treea2cd423e71efff159a6967c3345b3133bbe71012
parentdb95dfce58f3ca27df7fae564f9448be3fbb7a18 (diff)
downloadscripts-b32d33610affaadf67f342e270a98c80ab61d847.tar.gz
scripts-b32d33610affaadf67f342e270a98c80ab61d847.tar.xz
scripts-b32d33610affaadf67f342e270a98c80ab61d847.zip
Respond when more categorymember query data is available
-rwxr-xr-xget-mediawiki-data14
1 files changed, 13 insertions, 1 deletions
diff --git a/get-mediawiki-data b/get-mediawiki-data
index 54a50cb..cc3b4f1 100755
--- a/get-mediawiki-data
+++ b/get-mediawiki-data
@@ -231,8 +231,20 @@ def list_categorymembers(wiki, cat_page, limit=5):
cmtitle=cat_page)
if opts.debug: print query
response = wiki.call(query)
+ if opts.debug: print response
+
+ # Are more results available?
+ members = list()
+ # If necesary, repeatedly call the server to get more data
+ while response.has_key('query-continue'):
+ members.extend( [entry.get('title') for entry in response.get('query',{}).get('categorymembers',{}) if entry.has_key('title')] )
+ query['cmcontinue'] = response['query-continue']['categorymembers']['cmcontinue']
+ if opts.debug: print query
+ response = wiki.call(query)
+ if opts.debug: print response
- members = [entry.get('title') for entry in response.get('query',{}).get('categorymembers',{}) if entry.has_key('title')]
+ # Extract any remaining data from the response
+ members.extend( [entry.get('title') for entry in response.get('query',{}).get('categorymembers',{}) if entry.has_key('title')] )
# Determine whether we need to recurse
idx = 0