[Pkg-isocodes-devel] [iso-codes] 05/05: Change code to handle simplified ISO 3166-2 data
Tobias Quathamer
toddy at moszumanska.debian.org
Fri Mar 25 22:08:32 UTC 2016
This is an automated email from the git hooks/post-receive script.
toddy pushed a commit to branch master
in repository iso-codes.
commit 2e3fc111d3bbd4a7e85f9fe41fb486ed98e30ce1
Author: Dr. Tobias Quathamer <toddy at debian.org>
Date: Fri Mar 25 23:08:10 2016 +0100
Change code to handle simplified ISO 3166-2 data
---
bin/xml_from_json.py | 38 ++++++++++++++++++++++++++------------
1 file changed, 26 insertions(+), 12 deletions(-)
diff --git a/bin/xml_from_json.py b/bin/xml_from_json.py
index 07a1910..03aef8a 100755
--- a/bin/xml_from_json.py
+++ b/bin/xml_from_json.py
@@ -502,18 +502,32 @@ with open(xml_file, "w") as outfile:
outfile.write(headers["3166-2"])
outfile.write("\n")
outfile.write("<iso_3166_2_entries>\n")
- for country in get_iso_entries("3166-2"):
- outfile.write("<iso_3166_country code=\"" + country["code"] + "\">\n")
- for subset in country["subsets"]:
- outfile.write("<iso_3166_subset type=\"" + subset["type"] + "\">\n")
- for item in subset["items"]:
- outfile.write("\t<iso_3166_2_entry\n")
- outfile.write("\t\tcode=\"" + item["code"] + "\"\tname=\"" + item["name"] + "\"")
- if "parent" in item:
- outfile.write("\tparent=\"" + item["parent"] + "\"")
- outfile.write(" />\n")
- outfile.write("</iso_3166_subset>\n")
- outfile.write("</iso_3166_country>\n")
+ last_country_code = ""
+ subsets = {}
+ for entry in get_iso_entries("3166-2"):
+ country_code = entry["code"].split("-")[0]
+ # Initialize for every new country
+ if last_country_code != country_code:
+ # Write out if subsets are filled
+ if len(subsets) > 0:
+ outfile.write("<iso_3166_country code=\"" + last_country_code + "\">\n")
+ for subset in subsets:
+ outfile.write("<iso_3166_subset type=\"" + subset + "\">\n")
+ for item in subsets[subset]:
+ outfile.write("\t<iso_3166_2_entry\n")
+ outfile.write("\t\tcode=\"" + item["code"] + "\"\tname=\"" + item["name"] + "\"")
+ if "parent" in item:
+ outfile.write("\tparent=\"" + item["parent"] + "\"")
+ outfile.write(" />\n")
+ outfile.write("</iso_3166_subset>\n")
+ outfile.write("</iso_3166_country>\n")
+ last_country_code = country_code
+ subsets = {}
+ # Group by subset types
+ if entry["type"] not in subsets:
+ subsets[entry["type"]] = [entry]
+ else:
+ subsets[entry["type"]].append(entry)
outfile.write("</iso_3166_2_entries>\n")
#
# Handle ISO 15924
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-isocodes/iso-codes.git
More information about the Pkg-isocodes-devel
mailing list