Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlga Khlopkova <o.khlopkova@corp.mail.ru>2021-01-13 14:12:14 +0300
committerMaksim Andrianov <maksimandrianov1@gmail.com>2021-01-15 17:26:47 +0300
commitea7df99cdd602f6808788b5b0ecd5404581c1f3e (patch)
tree46f0ec66af5ccbf21bdd87141b3c839ab1fe68d6
parente20bdee2d1fa63fd079ce8bde837c9dec3c72c39 (diff)
[transit] Handle exceptions in parse_openmobilitydata_pages().
-rw-r--r--tools/python/transit/gtfs/download_gtfs.py56
1 files changed, 31 insertions, 25 deletions
diff --git a/tools/python/transit/gtfs/download_gtfs.py b/tools/python/transit/gtfs/download_gtfs.py
index e1d1219932..2c6b3eb2b4 100644
--- a/tools/python/transit/gtfs/download_gtfs.py
+++ b/tools/python/transit/gtfs/download_gtfs.py
@@ -133,32 +133,38 @@ def parse_openmobilitydata_pages(omd_api_key):
"type": "gtfs"
}
- with requests.get(url_page, params=params, headers=HEADERS_OMD) as response:
- if response.status_code != 200:
- logger.error(f"Http code {response.status_code} loading feed ids: {url_page}")
- return [], ""
-
- data = json.loads(response.text)
-
- if page == 1:
- pages_count = data["results"]["numPages"]
- logger.info(f"There are {pages_count} Openmobilitydata pages with feed urls.")
-
- for feed in data["results"]["feeds"]:
- params = {
- "key": omd_api_key,
- "feed": feed["id"]
- }
-
- with requests.get(url_with_redirect, params=params, headers=HEADERS_OMD, allow_redirects=True) \
- as response_redirect:
- if response_redirect.history:
- urls.append(response_redirect.url)
- else:
- logger.error(f"Could not get link to zip with feed {feed['id']} from {url_with_redirect}")
+ try:
+ with requests.get(url_page, params=params, headers=HEADERS_OMD) as response:
+ if response.status_code != 200:
+ logger.error(f"Http code {response.status_code} loading feed ids: {url_page}")
+ return [], ""
+
+ data = json.loads(response.text)
+
+ if page == 1:
+ pages_count = data["results"]["numPages"]
+ logger.info(f"There are {pages_count} Openmobilitydata pages with feed urls.")
+
+ for feed in data["results"]["feeds"]:
+ params = {
+ "key": omd_api_key,
+ "feed": feed["id"]
+ }
+ try:
+ with requests.get(url_with_redirect, params=params, headers=HEADERS_OMD, allow_redirects=True) \
+ as response_redirect:
+ if response_redirect.history:
+ urls.append(response_redirect.url)
+ else:
+ logger.error(f"Could not get link to zip with feed {feed['id']} from {url_with_redirect}")
+ except requests.exceptions.RequestException as ex_redirect:
+ logger.error(f"Exception {ex_redirect} while getting link to zip with "
+ f"feed {feed['id']} from {url_with_redirect}")
+ except requests.exceptions.RequestException as ex:
+ logger.error(f"Exception {ex} while getting {url_page} (page {page}) from Openmobilitydata.")
- logger.info(f"page {page}")
- page += 1
+ logger.info(f"Crawled {page}/{pages_count} page of Openmobilitydata.")
+ page += 1
return urls