mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Merge pull request #562 from danhanks/dhanks_geo_branch
Dhanks geo branch
This commit is contained in:
@@ -63,9 +63,15 @@ class GeoCodes(object):
|
||||
|
||||
@classmethod
|
||||
def province_to_code(cls, province):
|
||||
# We get to cheat on this one since we only support provinces in NA-US
|
||||
if province not in geo_data['NA']['US']['provinces']:
|
||||
# We cheat on this one a little since we only support provinces in
|
||||
# NA-US, NA-CA
|
||||
if (province not in geo_data['NA']['US']['provinces'] and
|
||||
province not in geo_data['NA']['CA']['provinces']):
|
||||
cls.log.warn('country_to_code: unrecognized province "%s"',
|
||||
province)
|
||||
return
|
||||
return 'NA-US-{}'.format(province)
|
||||
if province in geo_data['NA']['US']['provinces']:
|
||||
country = 'US'
|
||||
if province in geo_data['NA']['CA']['provinces']:
|
||||
country = 'CA'
|
||||
return 'NA-{}-{}'.format(country, province)
|
||||
|
@@ -183,7 +183,20 @@ geo_data = \
|
||||
'BQ': {'name': 'Bonaire, Sint Eustatius and Saba'},
|
||||
'BS': {'name': 'Bahamas'},
|
||||
'BZ': {'name': 'Belize'},
|
||||
'CA': {'name': 'Canada'},
|
||||
'CA': {'name': 'Canada',
|
||||
'provinces': {'AB': {'name': 'Alberta'},
|
||||
'BC': {'name': 'British Columbia'},
|
||||
'MB': {'name': 'Manitoba'},
|
||||
'NB': {'name': 'New Brunswick'},
|
||||
'NL': {'name': 'Newfoundland and Labrador'},
|
||||
'NS': {'name': 'Nova Scotia'},
|
||||
'NT': {'name': 'Northwest Territories'},
|
||||
'NU': {'name': 'Nunavut'},
|
||||
'ON': {'name': 'Ontario'},
|
||||
'PE': {'name': 'Prince Edward Island'},
|
||||
'QC': {'name': 'Quebec'},
|
||||
'SK': {'name': 'Saskatchewan'},
|
||||
'YT': {'name': 'Yukon Territory'}}},
|
||||
'CR': {'name': 'Costa Rica'},
|
||||
'CU': {'name': 'Cuba'},
|
||||
'CW': {'name': 'Curaçao'},
|
||||
|
@@ -8,8 +8,8 @@ from pycountry_convert import country_alpha2_to_continent_code
|
||||
|
||||
subs = defaultdict(dict)
|
||||
for subdivision in subdivisions:
|
||||
# Route53 only supports US states, Dyn supports US states and CA provinces, but for now we'll just do US
|
||||
if subdivision.country_code not in ('US'):
|
||||
# Route53 only supports US states, Dyn (and others) support US states and CA provinces
|
||||
if subdivision.country_code not in ('US', 'CA'):
|
||||
continue
|
||||
subs[subdivision.country_code][subdivision.code[3:]] = {
|
||||
'name': subdivision.name
|
||||
|
@@ -77,4 +77,6 @@ class TestRecordGeoCodes(TestCase):
|
||||
def test_province_to_code(self):
|
||||
self.assertEquals('NA-US-OR', GeoCodes.province_to_code('OR'))
|
||||
self.assertEquals('NA-US-KY', GeoCodes.province_to_code('KY'))
|
||||
self.assertEquals('NA-CA-AB', GeoCodes.province_to_code('AB'))
|
||||
self.assertEquals('NA-CA-BC', GeoCodes.province_to_code('BC'))
|
||||
self.assertFalse(GeoCodes.province_to_code('XX'))
|
||||
|
Reference in New Issue
Block a user