From 30776db7852cf14654db94e9b9c05ba13dc2a2f3 Mon Sep 17 00:00:00 2001 From: Lukas Juhrich <lukasjuhrich@wh2.tu-dresden.de> Date: Sun, 24 Jul 2016 03:43:26 +0200 Subject: [PATCH] Use super() instead of explicit class naming Fix #127 --- mwclient/errors.py | 4 ++-- mwclient/ex.py | 13 ++++++++----- mwclient/listing.py | 25 ++++++++++++++++--------- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/mwclient/errors.py b/mwclient/errors.py index bf5d2cb..3dcc83a 100644 --- a/mwclient/errors.py +++ b/mwclient/errors.py @@ -19,7 +19,7 @@ class APIError(MwClientError): def __init__(self, code, info, kwargs): self.code = code self.info = info - MwClientError.__init__(self, code, info, kwargs) + super(APIError, self).__init__(code, info, kwargs) class InsufficientPermission(MwClientError): @@ -75,7 +75,7 @@ class InvalidResponse(MwClientError): 'you used the correct hostname. If you did, the server might ' + \ 'be wrongly configured or experiencing temporary problems.' self.response_text = response_text - MwClientError.__init__(self, self.message, response_text) + super(InvalidResponse, self).__init__(self.message, response_text) def __str__(self): return self.message diff --git a/mwclient/ex.py b/mwclient/ex.py index c0b1eae..959599c 100644 --- a/mwclient/ex.py +++ b/mwclient/ex.py @@ -47,11 +47,14 @@ class ConfiguredSite(client.Site): do_login = 'username' in self.config and 'password' in self.config - client.Site.__init__(self, host=self.config['host'], - path=self.config['path'], ext=self.config.get('ext', '.php'), - do_init=not do_login, - retry_timeout=self.config.get('retry_timeout', 30), - max_retries=self.config.get('max_retries', -1)) + super(ConfiguredSite, self).__init__( + host=self.config['host'], + path=self.config['path'], + ext=self.config.get('ext', '.php'), + do_init=not do_login, + retry_timeout=self.config.get('retry_timeout', 30), + max_retries=self.config.get('max_retries', -1), + ) if do_login: self.login(self.config['username'], diff --git a/mwclient/listing.py b/mwclient/listing.py index 6608788..46bc3b8 100644 --- a/mwclient/listing.py +++ b/mwclient/listing.py @@ -143,7 +143,7 @@ class List(object): class NestedList(List): def __init__(self, nested_param, *args, **kwargs): - List.__init__(self, *args, **kwargs) + super(NestedList, self).__init__(*args, **kwargs) self.nested_param = nested_param def set_iter(self, data): @@ -153,7 +153,8 @@ class NestedList(List): class GeneratorList(List): def __init__(self, site, list_name, prefix, *args, **kwargs): - List.__init__(self, site, list_name, prefix, *args, **kwargs) + super(GeneratorList, self).__init__(site, list_name, prefix, + *args, **kwargs) self.args['g' + self.prefix + 'limit'] = self.args[self.prefix + 'limit'] del self.args[self.prefix + 'limit'] @@ -167,7 +168,7 @@ class GeneratorList(List): self.page_class = mwclient.page.Page def __next__(self): - info = List.__next__(self, full=True) + info = super(GeneratorList, self).__next__(full=True) if info['ns'] == 14: return Category(self.site, u'', info) if info['ns'] == 6: @@ -182,7 +183,7 @@ class GeneratorList(List): # Put this here so that the constructor does not fail # on uninitialized sites self.args['iiprop'] = 'timestamp|user|comment|url|size|sha1|metadata|archivename' - return List.load_chunk(self) + return super(GeneratorList, self).load_chunk() class Category(mwclient.page.Page, GeneratorList): @@ -219,8 +220,10 @@ class PageList(GeneratorList): if end: kwargs['gapto'] = end - GeneratorList.__init__(self, site, 'allpages', 'ap', - gapnamespace=text_type(namespace), gapfilterredir=redirects, **kwargs) + super(PageList, self).__init__(site, 'allpages', 'ap', + gapnamespace=text_type(namespace), + gapfilterredir=redirects, + **kwargs) def __getitem__(self, name): return self.get(name, None) @@ -257,7 +260,9 @@ class PageList(GeneratorList): class PageProperty(List): def __init__(self, page, prop, prefix, *args, **kwargs): - List.__init__(self, page.site, prop, prefix, titles=page.name, *args, **kwargs) + super(PageProperty, self).__init__(page.site, prop, prefix, + titles=page.name, + *args, **kwargs) self.page = page self.generator = 'prop' @@ -272,7 +277,9 @@ class PageProperty(List): class PagePropertyGenerator(GeneratorList): def __init__(self, page, prop, prefix, *args, **kwargs): - GeneratorList.__init__(self, page.site, prop, prefix, titles=page.name, *args, **kwargs) + super(PagePropertyGenerator, self).__init__(page.site, prop, prefix, + titles=page.name, + *args, **kwargs) self.page = page @@ -281,4 +288,4 @@ class RevisionsIterator(PageProperty): def load_chunk(self): if 'rvstartid' in self.args and 'rvstart' in self.args: del self.args['rvstart'] - return PageProperty.load_chunk(self) + return super(RevisionsIterator, self).load_chunk() -- GitLab