import json # from pprint import pprint from model import local_timezones import arrow import collections Data = collections.namedtuple('Data', 'venue state race time horse_no horse flag') with open('scratchings.json', 'r') as f: data_all = json.loads(f.read()) data = data_all["MainPageState"]["receivedData"][0] name = data['name'] print(name) items = 0 for d in data['data']: items += 1 # pprint(d) print('item {}'.format(items)) country = d['venue']['countryId'] is_aus = True if country == 'AUS' else False timezone = local_timezones[d['venue']['state']] if is_aus else 'Pacific/Auckland' venue = '{} {}{} {}'.format(d['venue']['name'], d['venue']['countryId'], '/' + d['venue']['state'] if is_aus else '', timezone) print(venue) races = d['races'] for race in races: raceNumber = race['raceNumber'] startTimeLocal = race['startTimeLocal'][11:-3] # print(race['startTimeLocal']) arrowStartTimeLocal = arrow.get(race['startTimeLocal']+' '+timezone, 'YYYY-MM-DDTHH:mm:ss ZZZ') # print(arrowStartTimeLocal) startTimeUtc = race['startTimeUtc'] race_date = race['startTimeLocal'][:10] # print(race_date) # print('race {:2d}: {} {}'.format(raceNumber, startTimeLocal, startTimeUtc)) for runner in race['runners']: if runner['scratched']: horseDisplayName = runner['horseDisplayName'] horseNumber = runner['horseNumber'] # print('\t{:2d}: {}'.format(horseNumber, horseDisplayName)) data_without_flag = Data(d['venue']['name'], d['venue']['state'] if is_aus else 'NZL', raceNumber, arrowStartTimeLocal, horseNumber, horseDisplayName, False) print(data_without_flag)