Revision: 6475
Author: nicdumz
Date: 2009-03-03 09:56:02 +0000 (Tue, 03 Mar 2009)
Log Message:
-----------
LogEntryListGenerator yielding LogEntry objects instead of dicts
Modified Paths:
--------------
branches/rewrite/pywikibot/data/api.py
branches/rewrite/pywikibot/site.py
Modified: branches/rewrite/pywikibot/data/api.py
===================================================================
--- branches/rewrite/pywikibot/data/api.py 2009-03-03 09:35:29 UTC (rev 6474)
+++ branches/rewrite/pywikibot/data/api.py 2009-03-03 09:56:02 UTC (rev 6475)
@@ -591,7 +591,20 @@
"""
QueryGenerator.__init__(self, list=listaction, **kwargs)
+class LogEntryListGenerator(ListGenerator):
+ """
+ Like ListGenerator, but specialized for listaction="logevents" :
+ yields LogEntry objects instead of dicts.
+ """
+ def __init__(self, logtype, **kwargs):
+ ListGenerator.__init__(self, "logevents", **kwargs)
+ import logentries
+ self.entryFactory = logentries.LogEntryFactory(logtype)
+
+ def result(self, pagedata):
+ return self.entryFactory.create(pagedata)
+
class LoginManager(login.LoginManager):
"""Supplies getCookie() method to use API
interface."""
def getCookie(self, remember=True, captchaId=None, captchaAnswer=None):
Modified: branches/rewrite/pywikibot/site.py
===================================================================
--- branches/rewrite/pywikibot/site.py 2009-03-03 09:35:29 UTC (rev 6474)
+++ branches/rewrite/pywikibot/site.py 2009-03-03 09:56:02 UTC (rev 6475)
@@ -1749,7 +1749,7 @@
if start < end:
raise Error(
"logevents: start must be later than end with
reverse=False")
- legen = api.ListGenerator("logevents", site=self)
+ legen = api.LogEntryListGenerator(logtype, site=self)
if logtype is not None:
legen.request["letype"] = logtype
if user is not None:
Show replies by date