#!/usr/bin/env python #This file is part of Tryton. The COPYRIGHT file at the top level of #this repository contains the full copyright notices and license terms. import sys import pycountry sys.stdout.write(u' \n') for country in pycountry.countries: record = u''' %s %s \n''' % (country.alpha2.lower(), country.name, country.alpha2) sys.stdout.write(record.encode('utf-8')) sys.stdout.write(u' \n') existing_parents = set() while len(existing_parents) != len(pycountry.subdivisions): sys.stdout.write(u' \n') new_parents = set() for subdivision in pycountry.subdivisions: if (subdivision.code.lower() in existing_parents or (subdivision.parent_code and subdivision.parent_code.lower() not in existing_parents)): continue new_parents.add(subdivision.code.lower()) #XXX fix for second level of regional divisions subdivision.country_code = subdivision.country_code.split(' ', 1)[0] record = u''' %s %s %s\n''' % (subdivision.code.lower(), subdivision.name, subdivision.code, subdivision.type.lower()) if subdivision.parent_code: record += u'''\ \n''' % \ subdivision.parent.code.lower() record += u'''\ \n''' % subdivision.country.alpha2.lower() sys.stdout.write(record.encode('utf-8')) sys.stdout.write(u' \n') existing_parents |= new_parents