Revision: 7253 Author: alexsh Date: 2009-09-16 15:27:26 +0000 (Wed, 16 Sep 2009)
Log Message: ----------- userlib.py User():use namespace to get userpage and talkpage. User().contributions(): set API highlimit.
Modified Paths: -------------- trunk/pywikipedia/userlib.py
Modified: trunk/pywikipedia/userlib.py =================================================================== --- trunk/pywikipedia/userlib.py 2009-09-16 07:10:18 UTC (rev 7252) +++ trunk/pywikipedia/userlib.py 2009-09-16 15:27:26 UTC (rev 7253) @@ -55,20 +55,18 @@ #This user is probably being queried for purpose of lifting #an autoblock, so has no user pages per se. raise AutoblockUserError - fullpagename = self.site.namespace(2) + ':' + self.name if subpage: - fullpagename += '/' + subpage - return wikipedia.Page(self.site, fullpagename) + subpage = '/' + subpage + return wikipedia.Page(self.site, self.name + subpage, defaultNamespace=2)
def getUserTalkPage(self, subpage=''): if self.name[0] == '#': #This user is probably being queried for purpose of lifting #an autoblock, so has no user talk pages per se. raise AutoblockUserError - fullpagename = self.site.namespace(3) + ':' + self.name if subpage: - fullpagename += '/' + subpage - return wikipedia.Page(self.site,fullpagename) + subpage = '/' + subpage + return wikipedia.Page(self.site, self.name + subpage, defaultNamespace=3)
def editedPages(self, limit=500): """ Deprecated function that wraps 'contributions' @@ -148,18 +146,20 @@ 'uclimit': int(limit), 'ucdir': 'older', } + if limit > wikipedia.config.special_page_limit: + params['uclimit'] = wikipedia.config.special_page_limit + if limit > 5000 and self.site.isAllowed('apihighlimits'): + params['uclimit'] = 5000
if namespace: params['ucnamespace'] = '|'.join(namespace) # An user is likely to contribute on several pages, # keeping track of titles - count = 0 while True: result = wikipedia.query.GetData(params, self.site) for c in result['query']['usercontribs']: yield wikipedia.Page(self.site, c['title'], defaultNamespace=c['ns']), c['revid'], c['timestamp'], c['comment'] - count += 1 - if result.has_key('query-continue') and count <= limit: + if result.has_key('query-continue'): params['ucstart'] = result['query-continue']['usercontribs']['ucstart'] else: break
pywikipedia-svn@lists.wikimedia.org