Revision: 8109
Author: alexsh
Date: 2010-04-18 19:23:24 +0000 (Sun, 18 Apr 2010)
Log Message:
-----------
change two functions to use Site().logpages()
Modified Paths:
--------------
trunk/pywikipedia/userlib.py
trunk/pywikipedia/wikipedia.py
Modified: trunk/pywikipedia/userlib.py
===================================================================
--- trunk/pywikipedia/userlib.py 2010-04-18 18:36:22 UTC (rev 8108)
+++ trunk/pywikipedia/userlib.py 2010-04-18 19:23:24 UTC (rev 8109)
@@ -285,27 +285,10 @@
yield p,t,c,a
return
- params = {
- 'action': 'query',
- 'list': 'logevents',
- 'letype': 'upload',
- 'leuser': self.name(),
- 'lelimit': int(number),
- }
- count = 0
- while True:
- data = query.GetData(params, self.site())
- for info in data['query']['logevents']:
- count += 1
- yield wikipedia.ImagePage(self.site(), info['title']),
info['timestamp'], info['comment'], False
+ for s in self.site().logpages(number, mode = 'upload', user =
self.name(), dump = True)
+ yield wikipedia.ImagePage(self.site(), s['title']),
s['timestamp'], s['comment'], s['pageid'] > 0
+ return
- if count >= number:
- break
- if 'query-continue' in data and count < number:
- params['lestart'] =
data['query-continue']['logevents']['lestart']
- else:
- break
-
def _uploadedImagesOld(self, number = 10):
"""Yield ImagePages from
Special:Log&type=upload"""
Modified: trunk/pywikipedia/wikipedia.py
===================================================================
--- trunk/pywikipedia/wikipedia.py 2010-04-18 18:36:22 UTC (rev 8108)
+++ trunk/pywikipedia/wikipedia.py 2010-04-18 19:23:24 UTC (rev 8109)
@@ -6000,35 +6000,12 @@
No more than 500 (5000 for bots) allowed.
Default: 10
"""
- params = {
- 'action' :'query',
- 'list' :'logevents',
- 'letype' :'upload',
- 'lelimit' :int(number),
- }
- if lestart: params['lestart'] = lestart
- if leend: params['leend'] = leend
- if leuser: params['leuser'] = leuser
- if letitle: params['letitle'] = letitle
- while True:
- if self.versionnumber() >= 11:
- imagesData = query.GetData(params, self, encodeTitle = False)
- else:
- raise NotImplementedError("The site version is not support this
action.")
-
- if 'error' in imagesData:
- raise RuntimeError('%s' % data['error'])
+
+ for o, u, t, c in self.logpages(number = number, mode = 'upload', title =
letitle, user = leuser,
+ repeat = repeat, start = lestart, end = leend):
+ yield o, t, u, c
+ return
- for i in imagesData['query']['logevents']:
- comment = ''
- if 'comment' in i:
- comment = i['comment']
- #pageid = i['pageid']
- ##logid = i['logid'] #no use current now
- yield ImagePage(self, i['title']), i['timestamp'],
i['user'], comment
- if not repeat:
- break
-
def recentchanges(self, number = 100, rcstart = None, rcend = None, rcshow = None,
rcdir='older', rctype ='edit|new', namespace=None, includeredirects=True,
repeat = False):
"""
Yield ImagePages from APIs, call:
action=query&list=recentchanges&rctype=edit|new&rclimit=500