diff --git a/busManager/coord/backup/backup_helpers.py b/busManager/coord/backup/backup_helpers.py index 77d3eb4..14bff48 100644 --- a/busManager/coord/backup/backup_helpers.py +++ b/busManager/coord/backup/backup_helpers.py @@ -1,8 +1,16 @@ +import datetime + from django.forms import model_to_dict from coord.models import * +def _to_date(date): + if date is None: + return None + return date.strftime("%Y-%m-%d") + + def get_export_dict(): suburbs = [] schools = [] @@ -52,6 +60,8 @@ def get_export_dict(): company_dict['buses'] = buses companies.append(company_dict) + ignore_fields = ['travel_start_date', 'travel_end_date', 'is_active', 'is_archived', 'bus_stops'] + for traveller in Traveller.objects.all(): traveller_dict = model_to_dict(traveller) traveller_dict['school'] = traveller.school.name @@ -59,19 +69,27 @@ def get_export_dict(): traveller_dict['residential_suburb'] = traveller.residential_suburb.name if traveller.postal_suburb is not None: traveller_dict['postal_suburb'] = traveller.postal_suburb.name - if traveller.dob is not None: - traveller_dict['dob'] = traveller.dob.strftime("%Y-%m-%d") - traveller_dict.pop('travel_start_date') - traveller_dict.pop('travel_end_date') + traveller_dict['dob'] = _to_date(traveller.dob) + traveller_dict['assessment_date'] = _to_date(traveller.assessment_date) + traveller_dict['created_on'] = traveller.created_on.strftime("%Y-%m-%d %H:%M:%S %Z") + traveller_dict['last_edit'] = traveller.last_edit.strftime("%Y-%m-%d %H:%M:%S %Z") + for field in ignore_fields: + traveller_dict.pop(field) + + for key in traveller_dict.keys(): + value = traveller_dict[key] + if value is not None and value != '' and value != False: + print(f"{key}: {traveller_dict[key]}") + # if isinstance(value, datetime.datetime): + # traveller_dict['key'] = _to_date(value) + print() routes = [] for route in TravellerRoute.objects.filter(traveller=traveller): route_dict = model_to_dict(route) route_dict.pop('traveller') route_dict['name'] = route.busStop.__str__() - if route.travel_start_date is not None: - route_dict['travel_start_date'] = route.travel_start_date.strftime("%Y-%m-%d") - if route.travel_end_date is not None: - route_dict['travel_end_date'] = route.travel_end_date.strftime("%Y-%m-%d") + route_dict['travel_start_date'] = _to_date(route.travel_start_date) + route_dict['travel_end_date'] = _to_date(route.travel_end_date) routes.append(route_dict) traveller_dict['bus_stops'] = routes travellers.append(traveller_dict)