diff --git a/mwclient/ex.py b/mwclient/ex.py index 2a16262319ffdd022f19a992f6e28486e998a888..85cadbbe0474f4b779d5b2cb7bed68fe016ff485 100644 --- a/mwclient/ex.py +++ b/mwclient/ex.py @@ -36,15 +36,15 @@ class ConfiguredSite(client.Site): if 'name' in kwargs: self.config.update(self.config['sites'][kwargs['name']]) - retry_timeout = self.config.get('retry_timeout', 30) - max_retries = self.config.get('max_retries', -1) + do_login = 'username' in self.config and 'password' in self.config client.Site.__init__(self, self.config['host'], - self.config['path'], retry_timeout = retry_timeout, - max_retries = max_retries) + self.config['path'], do_init = not do_login, + retry_timeout = self.config.get('retry_timeout', 30), + max_retries = self.config.get('max_retries', -1)) - if 'username' in self.config and 'password' in self.config: + if do_login: self.login(self.config['username'], self.config['password']) @@ -61,14 +61,13 @@ class ConfiguredPool(list): cfg.update(site) site.update(cfg) - retry_timeout = site.get('retry_timeout', 30) - max_retries = site.get('max_retries', -1) + do_login = 'username' in site and 'password' in site self.append(client.Site(site['host'], - site['path'], self.pool, - retry_timeout = retry_timeout, - max_retries = max_retries)) - if 'username' in site and 'password' in site: + site['path'], self.pool, do_init = not do_login, + retry_timeout = site.get('retry_timeout', 30), + max_retries = site.get('max_retries', -1))) + if do_login: self[-1].login(site['username'], site['password']) self[-1].config = site