diff --git a/pylast/__init__.py b/pylast/__init__.py index 48f918a..dc71cf5 100644 --- a/pylast/__init__.py +++ b/pylast/__init__.py @@ -2777,27 +2777,17 @@ def _collect_nodes(limit, sender, method_name, cacheable, params=None): while not end_of_pages and (not limit or (limit and len(nodes) < limit)): params["page"] = str(page) - tries = 0 + tries = 1 while True: - tries += 1 try: doc = sender._request(method_name, cacheable, params) break # success - except MalformedResponseError as e: - if tries < 3: - time.sleep(1) # wait and try again - else: - raise e - except WSError as e: - if tries < 3 and int(e.get_id()) in [ - # "Please try again" statuses - STATUS_OPERATION_FAILED, - STATUS_OFFLINE, - STATUS_TEMPORARILY_UNAVAILABLE, - ]: - time.sleep(1) # wait and try again - else: + except Exception as e: + if tries >= 3: raise e + # Wait and try again + time.sleep(1) + tries += 1 doc = cleanup_nodes(doc)