def get_assaults_csv(self): output = io.StringIO() writer = csv.writer(output, quoting=csv.QUOTE_NONNUMERIC) assaults_class = getattr( importlib.import_module("comport.data.models"), "AssaultOnOfficer{}".format(self.short_name)) csv_schema = assaults_class.get_csv_schema() csv_headers = [col[0] for col in csv_schema] csv_vars = [col[1] for col in csv_schema] writer.writerow(csv_headers) incidents = assaults_class.query.all() for incident in incidents: values = [] for incident_var in csv_vars: incident_value = getattr(incident, incident_var) if incident_var == "occured_date": incident_value = coalesce_date(incident_value) values.append(incident_value) writer.writerow(values) return output.getvalue()
def get_assaults_csv(self): output = io.StringIO() writer = csv.writer(output, quoting=csv.QUOTE_NONNUMERIC) assaults_class = getattr(importlib.import_module("comport.data.models"), "AssaultOnOfficer{}".format(self.short_name)) csv_schema = assaults_class.get_csv_schema() csv_headers = [col[0] for col in csv_schema] csv_vars = [col[1] for col in csv_schema] writer.writerow(csv_headers) incidents = assaults_class.query.all() for incident in incidents: values = [] for incident_var in csv_vars: incident_value = getattr(incident, incident_var) if incident_var == "occured_date": incident_value = coalesce_date(incident_value) values.append(incident_value) writer.writerow(values) return output.getvalue()
def get_complaint_csv(self): output = io.StringIO() writer = csv.writer(output, quoting=csv.QUOTE_NONNUMERIC) complaint_class = getattr( importlib.import_module("comport.data.models"), "CitizenComplaint{}".format(self.short_name)) csv_schema = complaint_class.get_csv_schema() csv_headers = [col[0] for col in csv_schema] csv_vars = [col[1] for col in csv_schema] writer.writerow(csv_headers) complaints = complaint_class.query.all() for complaint in complaints: values = [] for incident_var in csv_vars: incident_value = getattr(complaint, incident_var) if incident_var.endswith("_date"): incident_value = coalesce_date(incident_value) values.append(incident_value) writer.writerow(values) return output.getvalue()
def get_uof_csv(self): output = io.StringIO() writer = csv.writer(output, quoting=csv.QUOTE_NONNUMERIC) writer.writerow(["id", "occurredDate", "division", "district", "shift", "beat", "useOfForceReason", "officerForceType", "disposition", "serviceType", "arrestMade", "arrestCharges", "residentInjured", "residentHospitalized", "residentCondition", "officerInjured", "officerHospitalized", "officerCondition", "residentRace", "residentSex", "residentAge", "officerRace", "officerSex", "officerAge", "officerYearsOfService", "officerIdentifier"]) use_of_force_incidents = self.use_of_force_incidents for incident in use_of_force_incidents: occured_date = coalesce_date(incident.occured_date) values = [ incident.opaque_id, occured_date, incident.division, incident.precinct, incident.shift, incident.beat, incident.use_of_force_reason, incident.officer_force_type, incident.disposition, incident.service_type, incident.arrest_made, incident.arrest_charges, incident.resident_injured, incident.resident_hospitalized, incident.resident_condition, incident.officer_injured, incident.officer_hospitalized, incident.officer_condition, incident.resident_race, incident.resident_sex, incident.resident_age, incident.officer_race, incident.officer_sex, incident.officer_age, incident.officer_years_of_service, incident.officer_identifier ] writer.writerow(values) return output.getvalue()
def get_complaint_csv(self): output = io.StringIO() writer = csv.writer(output, quoting=csv.QUOTE_NONNUMERIC) writer.writerow(["id","occuredDate","serviceType", "source","division", "district","shift","beat","finding","allegationType", "allegation","censusTract","residentRace", "residentSex","residentAge","officerRace","officerSex","officerAge", "officerYearsOfService","officerIdentifier"]) complaints = self.citizen_complaints for complaint in complaints: occured_date = coalesce_date(complaint.occured_date) values = [ complaint.opaque_id, occured_date, complaint.service_type, complaint.source, complaint.division, complaint.precinct, complaint.shift, complaint.beat, complaint.disposition, complaint.allegation_type, complaint.allegation, complaint.census_tract, complaint.resident_race, complaint.resident_sex, complaint.resident_age, complaint.officer_race, complaint.officer_sex, complaint.officer_age, complaint.officer_years_of_service, complaint.officer_identifier ] writer.writerow(values) return output.getvalue()
def get_ois_csv(self): output = io.StringIO() writer = csv.writer(output, quoting=csv.QUOTE_NONNUMERIC) writer.writerow(["id", "occurredDate", "division", "district", "shift", "beat", "disposition", "residentWeaponUsed", "officerWeaponUsed", "serviceType", "residentCondition", "officerCondition", "residentRace", "residentSex", "residentAge", "officerRace", "officerSex", "officerAge", "officerYearsOfService", "officerIdentifier"]) officer_involved_shootings = self.officer_involved_shootings for incident in officer_involved_shootings: occured_date = coalesce_date(incident.occured_date) values = [ incident.opaque_id, occured_date, incident.division, incident.precinct, incident.shift, incident.beat, incident.disposition, incident.resident_weapon_used, incident.officer_weapon_used, incident.service_type, incident.resident_condition, incident.officer_condition, incident.resident_race, incident.resident_sex, incident.resident_age, incident.officer_race, incident.officer_sex, incident.officer_age, incident.officer_years_of_service, incident.officer_identifier ] writer.writerow(values) return output.getvalue()
def get_complaint_csv(self): output = io.StringIO() writer = csv.writer(output, quoting=csv.QUOTE_NONNUMERIC) writer.writerow(["id", "occurredDate", "division", "district", "shift", "beat", "serviceType", "source", "allegationType", "allegation", "finding", "residentRace", "residentSex", "residentAge", "officerRace", "officerSex", "officerAge", "officerYearsOfService", "officerIdentifier"]) complaints = self.citizen_complaints for complaint in complaints: occured_date = coalesce_date(complaint.occured_date) values = [ complaint.opaque_id, occured_date, complaint.division, complaint.precinct, complaint.shift, complaint.beat, complaint.service_type, complaint.source, complaint.allegation_type, complaint.allegation, complaint.disposition, complaint.resident_race, complaint.resident_sex, complaint.resident_age, complaint.officer_race, complaint.officer_sex, complaint.officer_age, complaint.officer_years_of_service, complaint.officer_identifier ] writer.writerow(values) return output.getvalue()