From 6826c03baaeac79f5aee385bdd99c241ee7ffa8e Mon Sep 17 00:00:00 2001 From: Robert Lucey Date: Fri, 31 Dec 2021 14:33:34 +0000 Subject: [PATCH] Parse values to appropriate types --- src/road_collisions_uk/models/casualty.py | 30 +++++------ src/road_collisions_uk/models/collision.py | 59 +++++++++++----------- src/road_collisions_uk/models/vehicle.py | 46 ++++++++--------- 3 files changed, 67 insertions(+), 68 deletions(-) diff --git a/src/road_collisions_uk/models/casualty.py b/src/road_collisions_uk/models/casualty.py index f5a2f48..555c82c 100644 --- a/src/road_collisions_uk/models/casualty.py +++ b/src/road_collisions_uk/models/casualty.py @@ -69,21 +69,21 @@ class Casualty(): ] def __init__(self, *args, **kwargs): - self.vehicle_reference = kwargs['vehicle_reference'] - self.casualty_reference = kwargs['casualty_reference'] - self.casualty_class = kwargs['casualty_class'] - self.sex_of_casualty = kwargs['sex_of_casualty'] - self.age_of_casualty = kwargs['age_of_casualty'] - self.age_band_of_casualty = kwargs['age_band_of_casualty'] - self.casualty_severity = kwargs['casualty_severity'] - self.pedestrian_location = kwargs['pedestrian_location'] - self.pedestrian_movement = kwargs['pedestrian_movement'] - self.car_passenger = kwargs['car_passenger'] - self.bus_or_coach_passenger = kwargs['bus_or_coach_passenger'] - self.pedestrian_road_maintenance_worker = kwargs['pedestrian_road_maintenance_worker'] - self.casualty_type = kwargs['casualty_type'] - self.casualty_home_area_type = kwargs['casualty_home_area_type'] - self.casualty_imd_decile = kwargs['casualty_imd_decile'] + self.vehicle_reference = int(kwargs['vehicle_reference']) + self.casualty_reference = int(kwargs['casualty_reference']) + self.casualty_class = int(kwargs['casualty_class']) + self.sex_of_casualty = int(kwargs['sex_of_casualty']) + self.age_of_casualty = int(kwargs['age_of_casualty']) + self.age_band_of_casualty = int(kwargs['age_band_of_casualty']) + self.casualty_severity = int(kwargs['casualty_severity']) + self.pedestrian_location = int(kwargs['pedestrian_location']) + self.pedestrian_movement = int(kwargs['pedestrian_movement']) + self.car_passenger = int(kwargs['car_passenger']) + self.bus_or_coach_passenger = int(kwargs['bus_or_coach_passenger']) + self.pedestrian_road_maintenance_worker = int(kwargs['pedestrian_road_maintenance_worker']) + self.casualty_type = int(kwargs['casualty_type']) + self.casualty_home_area_type = int(kwargs['casualty_home_area_type']) + self.casualty_imd_decile = int(kwargs['casualty_imd_decile']) def serialize(self): return { diff --git a/src/road_collisions_uk/models/collision.py b/src/road_collisions_uk/models/collision.py index a6ec6ac..2802bc5 100644 --- a/src/road_collisions_uk/models/collision.py +++ b/src/road_collisions_uk/models/collision.py @@ -214,41 +214,40 @@ class Collision(RawCollision): def __init__(self, **kwargs): self.accident_index = kwargs['accident_index'] + self.accident_severity = int(kwargs['accident_severity']) self.accident_year = int(kwargs['accident_year']) - self.location_easting_osgr = kwargs['location_easting_osgr'] - self.location_northing_osgr = kwargs['location_northing_osgr'] - self.longitude = kwargs['longitude'] - self.latitude = kwargs['latitude'] - self.police_force = kwargs['police_force'] - self.accident_severity = kwargs['accident_severity'] - self.number_of_vehicles = kwargs['number_of_vehicles'] - self.number_of_casualties = kwargs['number_of_casualties'] + self.carriageway_hazards = int(kwargs['carriageway_hazards']) self.date = kwargs['date'] - # skipping day of week as we have date - self.time = kwargs['time'] - self.local_authority_district = kwargs['local_authority_district'] - self.local_authority_ons_district = kwargs['local_authority_ons_district'] + self.did_police_officer_attend_scene_of_accident = int(kwargs['did_police_officer_attend_scene_of_accident']) + self.first_road_class = int(kwargs['first_road_class']) + self.first_road_number = int(kwargs['first_road_number']) + self.junction_control = int(kwargs['junction_control']) + self.junction_detail = int(kwargs['junction_detail']) + self.latitude = float(kwargs['latitude']) if kwargs['latitude'] != 'NULL' else None + self.light_conditions = int(kwargs['light_conditions']) + self.local_authority_district = int(kwargs['local_authority_district']) self.local_authority_highway = kwargs['local_authority_highway'] - self.first_road_class = kwargs['first_road_class'] - self.first_road_number = kwargs['first_road_number'] - self.road_type = kwargs['road_type'] - self.speed_limit = kwargs['speed_limit'] - self.junction_detail = kwargs['junction_detail'] - self.junction_control = kwargs['junction_control'] - self.second_road_class = kwargs['second_road_class'] - self.second_road_number = kwargs['second_road_number'] - self.pedestrian_crossing_human_control = kwargs['pedestrian_crossing_human_control'] - self.pedestrian_crossing_physical_facilities = kwargs['pedestrian_crossing_physical_facilities'] - self.light_conditions = kwargs['light_conditions'] - self.weather_conditions = kwargs['weather_conditions'] - self.road_surface_conditions = kwargs['road_surface_conditions'] - self.special_conditions_at_site = kwargs['special_conditions_at_site'] - self.carriageway_hazards = kwargs['carriageway_hazards'] - self.urban_or_rural_area = kwargs['urban_or_rural_area'] - self.did_police_officer_attend_scene_of_accident = kwargs['did_police_officer_attend_scene_of_accident'] - self.trunk_road_flag = kwargs['trunk_road_flag'] + self.local_authority_ons_district = kwargs['local_authority_ons_district'] + self.location_easting_osgr = int(kwargs['location_easting_osgr']) if kwargs['latitude'] != 'NULL' else None + self.location_northing_osgr = int(kwargs['location_northing_osgr']) if kwargs['latitude'] != 'NULL' else None + self.longitude = float(kwargs['longitude']) if kwargs['latitude'] != 'NULL' else None self.lsoa_of_accident_location = kwargs['lsoa_of_accident_location'] + self.number_of_casualties = int(kwargs['number_of_casualties']) + self.number_of_vehicles = int(kwargs['number_of_vehicles']) + self.pedestrian_crossing_human_control = int(kwargs['pedestrian_crossing_human_control']) + self.pedestrian_crossing_physical_facilities = int(kwargs['pedestrian_crossing_physical_facilities']) + self.police_force = int(kwargs['police_force']) + self.road_surface_conditions = int(kwargs['road_surface_conditions']) + self.road_type = int(kwargs['road_type']) + self.second_road_class = int(kwargs['second_road_class']) + self.second_road_number = int(kwargs['second_road_number']) + self.special_conditions_at_site = int(kwargs['special_conditions_at_site']) + self.speed_limit = int(kwargs['speed_limit']) + self.time = kwargs['time'] + self.trunk_road_flag = int(kwargs['trunk_road_flag']) + self.urban_or_rural_area = int(kwargs['urban_or_rural_area']) + self.weather_conditions = int(kwargs['weather_conditions']) self.casualties = kwargs['casualties'] self.vehicles = kwargs['vehicles'] diff --git a/src/road_collisions_uk/models/vehicle.py b/src/road_collisions_uk/models/vehicle.py index 1cd6746..a7dda3f 100644 --- a/src/road_collisions_uk/models/vehicle.py +++ b/src/road_collisions_uk/models/vehicle.py @@ -78,31 +78,31 @@ class Vehicle(): ] def __init__(self, *args, **kwargs): - self.age_band_of_driver = kwargs['age_band_of_driver'] - self.age_of_driver = kwargs['age_of_driver'] - self.age_of_vehicle = kwargs['age_of_vehicle'] - self.driver_home_area_type = kwargs['driver_home_area_type'] - self.driver_imd_decile = kwargs['driver_imd_decile'] - self.engine_capacity_cc = kwargs['engine_capacity_cc'] - self.first_point_of_impact = kwargs['first_point_of_impact'] + self.age_band_of_driver = int(kwargs['age_band_of_driver']) + self.age_of_driver = int(kwargs['age_of_driver']) + self.age_of_vehicle = int(kwargs['age_of_vehicle']) + self.driver_home_area_type = int(kwargs['driver_home_area_type']) + self.driver_imd_decile = int(kwargs['driver_imd_decile']) + self.engine_capacity_cc = int(kwargs['engine_capacity_cc']) # is this ever a float? + self.first_point_of_impact = int(kwargs['first_point_of_impact']) self.generic_make_model = kwargs['generic_make_model'] - self.hit_object_in_carriageway = kwargs['hit_object_in_carriageway'] - self.hit_object_off_carriageway = kwargs['hit_object_off_carriageway'] - self.journey_purpose_of_driver = kwargs['journey_purpose_of_driver'] - self.junction_location = kwargs['junction_location'] - self.propulsion_code = kwargs['propulsion_code'] - self.sex_of_driver = kwargs['sex_of_driver'] - self.skidding_and_overturning = kwargs['skidding_and_overturning'] - self.towing_and_articulation = kwargs['towing_and_articulation'] + self.hit_object_in_carriageway = int(kwargs['hit_object_in_carriageway']) + self.hit_object_off_carriageway = int(kwargs['hit_object_off_carriageway']) + self.journey_purpose_of_driver = int(kwargs['journey_purpose_of_driver']) + self.junction_location = int(kwargs['junction_location']) + self.propulsion_code = int(kwargs['propulsion_code']) + self.sex_of_driver = int(kwargs['sex_of_driver']) + self.skidding_and_overturning = int(kwargs['skidding_and_overturning']) + self.towing_and_articulation = int(kwargs['towing_and_articulation']) - self.vehicle_direction_from = kwargs['vehicle_direction_from'] - self.vehicle_direction_to = kwargs['vehicle_direction_to'] - self.vehicle_leaving_carriageway = kwargs['vehicle_leaving_carriageway'] - self.vehicle_left_hand_drive = kwargs['vehicle_left_hand_drive'] - self.vehicle_location_restricted_lane = kwargs['vehicle_location_restricted_lane'] - self.vehicle_manoeuvre = kwargs['vehicle_manoeuvre'] - self.vehicle_reference = kwargs['vehicle_reference'] - self.vehicle_type = kwargs['vehicle_type'] + self.vehicle_direction_from = int(kwargs['vehicle_direction_from']) + self.vehicle_direction_to = int(kwargs['vehicle_direction_to']) + self.vehicle_leaving_carriageway = int(kwargs['vehicle_leaving_carriageway']) + self.vehicle_left_hand_drive = int(kwargs['vehicle_left_hand_drive']) + self.vehicle_location_restricted_lane = int(kwargs['vehicle_location_restricted_lane']) + self.vehicle_manoeuvre = int(kwargs['vehicle_manoeuvre']) + self.vehicle_reference = int(kwargs['vehicle_reference']) + self.vehicle_type = int(kwargs['vehicle_type']) def serialize(self): return {