diff --git a/mwclient/client.py b/mwclient/client.py index 424905ef94eaf726fc90f28dbedcd7b6465a05f1..c2e6cbc84b0ddf15ed03289e1a695b26292522b3 100644 --- a/mwclient/client.py +++ b/mwclient/client.py @@ -601,7 +601,6 @@ class Site(object): rights=rights, witheditsonly=witheditsonly, activeusers=activeusers)) - print kwargs return listing.List(self, 'allusers', 'au', limit=limit, **kwargs) def blocks(self, start=None, end=None, dir='older', ids=None, users=None, limit=None, @@ -663,6 +662,12 @@ class Site(object): end=end, dir=dir, user=user, title=title, action=action)) return listing.List(self, 'logevents', 'le', limit=limit, **kwargs) + def checkuserlog(self, user=None, target=None, limit=10, dir='older', start=None, end=None): + + kwargs = dict(listing.List.generate_kwargs('cul', target=target, start=start, + end=end, dir=dir, user=user)) + return listing.NestedList('entries', self, 'checkuserlog', 'cul', limit=limit, **kwargs) + # def protectedtitles requires 1.15 def random(self, namespace, limit=20): """Retrieves a generator of random page from a particular namespace. diff --git a/mwclient/listing.py b/mwclient/listing.py index 0e68e94e770ee9cfba63e2790a8476bcc7f69c33..1c83a9ec510fe8ef47712e1b202343cabbefc3ba 100644 --- a/mwclient/listing.py +++ b/mwclient/listing.py @@ -107,6 +107,15 @@ class List(object): return List +class NestedList(List): + def __init__(self, nested_param, *args, **kwargs): + List.__init__(self, *args, **kwargs) + self.nested_param = nested_param + + def set_iter(self, data): + self._iter = iter(data['query'][self.result_member][self.nested_param]) + + class GeneratorList(List): def __init__(self, site, list_name, prefix, *args, **kwargs):