2021-03-10 16:08:02 -05:00
|
|
|
# Python script to Read file from JSON and convert to YAML
|
2021-03-12 10:21:18 -05:00
|
|
|
# Author - yucheng.hu@insight.com
|
2021-03-10 16:08:02 -05:00
|
|
|
|
2021-03-12 10:21:18 -05:00
|
|
|
import datetime
|
2021-03-10 16:08:02 -05:00
|
|
|
import json
|
2021-03-11 10:49:27 -05:00
|
|
|
|
2021-03-10 16:08:02 -05:00
|
|
|
import ruamel.yaml as yaml
|
2021-03-12 10:21:18 -05:00
|
|
|
from dateutil.relativedelta import relativedelta
|
2021-03-10 16:08:02 -05:00
|
|
|
|
|
|
|
json_filename = 'resources/black_rock_test.json'
|
|
|
|
yaml_filename = 'resources/black_rock_test.yaml'
|
|
|
|
|
2021-03-12 10:21:18 -05:00
|
|
|
ELIGIBLE_FOR_RETIREMENT = 'eligible_for_retirement'
|
|
|
|
|
|
|
|
|
|
|
|
# Get Difference Years
|
|
|
|
def get_age(data_input):
|
|
|
|
date_user = datetime.datetime.strptime(data_input, '%m/%d/%Y')
|
|
|
|
date_current = datetime.datetime.now()
|
|
|
|
|
|
|
|
time_difference = relativedelta(date_current, date_user)
|
|
|
|
return time_difference.years
|
|
|
|
|
|
|
|
|
2021-03-10 16:08:02 -05:00
|
|
|
# Read and process JSON
|
|
|
|
with open(json_filename) as json_file:
|
|
|
|
data = json.load(json_file)
|
2021-03-12 10:21:18 -05:00
|
|
|
data_bod = data['date_of_birth']
|
2021-03-10 16:08:02 -05:00
|
|
|
|
2021-03-12 10:21:18 -05:00
|
|
|
if get_age(data_bod) >= 65:
|
|
|
|
data[ELIGIBLE_FOR_RETIREMENT] = True
|
|
|
|
else:
|
|
|
|
data[ELIGIBLE_FOR_RETIREMENT] = False
|
2021-03-10 16:08:02 -05:00
|
|
|
|
|
|
|
# Write to YAML
|
2021-03-11 10:49:27 -05:00
|
|
|
with open(yaml_filename, 'w') as yaml_file:
|
2021-03-12 16:08:15 -05:00
|
|
|
yaml.dump(data, yaml_file, allow_unicode=True, default_flow_style=False)
|