capitals_quiz/scripts/generate_countries_list.py

54 lines
1.4 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
import sys
import json
def get_args():
""" Get command line arguments """
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('file', help="The countries.json file to generate the output from", type=str)
return parser.parse_args()
def main(args):
""" Entry point for script """
with open(args.file) as fp:
countries = json.load(fp)
2022-01-13 20:10:47 +00:00
country_list = {}
capital_list = {}
for country in countries:
2021-04-11 14:04:52 +00:00
if len(country['capital']) < 1 or country['capital'][0] == "" or not country['independent']:
continue
2022-01-13 20:10:47 +00:00
country_list[country['name']['common']] = {
'answer': country['capital'][0],
'region': country['region'],
'subregion': country['subregion'],
'languages': country['languages']
}
capital_list[country['capital'][0]] = {
'answer': country['name']['common'],
2021-04-11 14:35:16 +00:00
'region': country['region'],
2021-04-11 14:04:52 +00:00
'subregion': country['subregion'],
'languages': country['languages']
2021-05-04 19:54:24 +00:00
}
2021-04-11 14:04:52 +00:00
print('countries = ', end='')
2022-01-13 20:10:47 +00:00
print(json.dumps(country_list), end=';')
print('capitals = ', end='')
print(json.dumps(capital_list))
return 0
if __name__ == '__main__':
try:
sys.exit(main(get_args()))
except KeyboardInterrupt:
sys.exit(0)