From a90e49cd8efaf59cdb463416d6dcb384dc6a624c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Michael=20O=2E=20Hegg=C3=B8?= <danmichaelo@gmail.com> Date: Fri, 5 Jun 2015 01:27:05 +0200 Subject: [PATCH] Remove unecessary code from Site.upload() Handling requests exceptions is the responsibility of `Site.raw_call()`, not `Site.upload()` --- mwclient/client.py | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/mwclient/client.py b/mwclient/client.py index 2b58cca..424905e 100644 --- a/mwclient/client.py +++ b/mwclient/client.py @@ -203,8 +203,7 @@ class Site(object): info = self.raw_api(action, **kwargs) if not info: info = {} - res = self.handle_api_result(info, token=token) - if res: + if self.handle_api_result(info, token=token): return info def handle_api_result(self, info, kwargs=None, token=None): @@ -528,22 +527,12 @@ class Site(object): wait_token = self.wait_token() while True: - try: - data = self.raw_call('api', postdata, files) - info = json.loads(data) - if not info: - info = {} - if self.handle_api_result(info, kwargs=predata): - return info.get('upload', {}) - except requests.exceptions.HTTPError as e: - if e.args[0] == 503 and e.args[1].getheader('X-Database-Lag'): - self.wait(wait_token, int(e.args[1].getheader('Retry-After'))) - elif e.args[0] < 500 or e.args[0] > 599: - raise - else: - self.wait(wait_token) - except requests.exceptions.ConnectionError: - self.wait(wait_token) + data = self.raw_call('api', postdata, files) + info = json.loads(data) + if not info: + info = {} + if self.handle_api_result(info, kwargs=predata, token=wait_token): + return info.get('upload', {}) def parse(self, text=None, title=None, page=None): kwargs = {} -- GitLab