Files
tryton/scripts/countries.py
T

35 lines
1.3 KiB
Python
Raw Normal View History

2008-10-22 20:20:29 +02:00
#!/usr/bin/env python
2009-06-26 11:38:36 +02:00
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
2008-10-22 20:20:29 +02:00
import sys
2008-10-22 20:20:29 +02:00
import pycountry
for country in pycountry.countries:
record = u'''
2008-10-22 20:20:29 +02:00
<record model="country.country" id="%s">
<field name="name">%s</field>
<field name="code">%s</field>
</record>\n''' % (country.alpha2.lower(), country.name,
2008-10-22 20:20:29 +02:00
country.alpha2)
sys.stdout.write(record.encode('utf-8'))
2008-10-22 20:20:29 +02:00
for subdivision in pycountry.subdivisions:
#XXX fix for second level of regional divisions
subdivision.country_code = subdivision.country_code.split(' ', 1)[0]
record = u'''
2008-10-22 20:20:29 +02:00
<record model="country.subdivision" id="%s">
<field name="name">%s</field>
<field name="code">%s</field>
<field name="type">%s</field>\n''' % (subdivision.code.lower(),
subdivision.name, subdivision.code,
2013-02-23 17:29:40 +01:00
subdivision.type)
2008-10-22 20:20:29 +02:00
if subdivision.parent_code:
record += u'''\
2013-02-23 17:29:40 +01:00
<field name="parent" ref="%s"/>\n''' % \
subdivision.parent.code.lower()
record += u'''\
2008-10-22 20:20:29 +02:00
<field name="country" ref="%s"/>
</record>\n''' % subdivision.country.alpha2.lower()
sys.stdout.write(record.encode('utf-8'))