Get the right city name if town is provided instead of city.

This commit is contained in:
Kasper D. Fischer 2014-11-25 09:53:29 +00:00
parent 61d272ec72
commit 8885f666af
Notes: subgit 2018-03-07 17:59:07 +01:00
r782 www/trunk

View File

@ -41,7 +41,7 @@ def mkGeolocationTable(file=''):
import warnings import warnings
import urllib2 as URL import urllib2 as URL
import json as JSON import json as JSON
# constants # constants
namespaces = {'sc3': 'http://geofon.gfz-potsdam.de/ns/seiscomp3-schema/0.7', namespaces = {'sc3': 'http://geofon.gfz-potsdam.de/ns/seiscomp3-schema/0.7',
'qml': 'http://quakeml.org/xmlns/bed/1.2'} 'qml': 'http://quakeml.org/xmlns/bed/1.2'}
@ -81,12 +81,22 @@ def mkGeolocationTable(file=''):
response = URL.urlopen(url) response = URL.urlopen(url)
if ( response.msg == 'OK' ): if ( response.msg == 'OK' ):
data = JSON.loads(response.read()) data = JSON.loads(response.read())
city = []
try: try:
try: try:
city = data['address']['city'] city = data['address']['city']
except: except:
warnings.warn('Using county instead of city for event {0} at {1} N / {2} E (URL: {3})'.format(publicID, lat, lng, url)) warnings.warn('Request {3} for event {0} at {1} N / {2} E did not provide city attribute\n\t(Response: {4})'.format(publicID, lat, lng, url, data))
city = data['address']['county'] try:
city = data['address']['town']
warnings.warn('Using attribute town ({1}) for event {0}'.format(publicID, city))
except:
try:
city = data['address']['county']
warnings.warn('Using attribute county ({1}) for event {0}'.format(publicID, city))
except:
warnings.warn('Skipping event')
continue
countryCode = data['address']['country_code'].upper() countryCode = data['address']['country_code'].upper()
if ( countryCode == 'DE' ): if ( countryCode == 'DE' ):
geolocationTable[publicID] = city.encode('utf-8') geolocationTable[publicID] = city.encode('utf-8')