def causas_acidentes_ano(self): """ Queries causes of the accidents by year @brief Local variable: query - SQL instruction to query the number of accidents by cause separated by year resultado_query - Saves the results from the query causas_acidentes_ano_list - List of causes of accidents per year ultimo_causa - Saves the last type cause causas_acidentes_ano - Instance of AcidentesAno @return A list of objects containing the causes of accidents per year """ query = """SELECT causa, quantidade_ocorrencias, ano FROM estatisticas_causa ORDER BY causa, ano ; """ resultado_query = self.executa_query(query) causas_acidentes_ano_list = [] ultimo_causa = '' for (causa, quantidade_ocorrencias, ano) in zip( resultado_query['causa'].values(), resultado_query['quantidade_ocorrencias'].values(), resultado_query['ano'].values() ): causa = causa.decode('iso-8859-1').encode('utf8') if (ultimo_causa != causa): causas_acidentes_ano = AcidentesAno() causas_acidentes_ano_list.append(causas_acidentes_ano) causas_acidentes_ano.causa = causa ultimo_causa = causa causas_acidentes_ano.ano_list.append(ano) causas_acidentes_ano.quantidade_ocorrencias_list.append( quantidade_ocorrencias ) return causas_acidentes_ano_list
def tipos_acidentes_ano(self): """ Queries the number of accidents per year. @brief Local variables: query - SQL instruction to query accidents per year. resultado_query - Receives the query results. tipos_acidentes_ano_list - List of objects that will be returned. ultimo_tipo - saves the last type of accident that was queried. tipo - Receives the type of accident from the query result. @return List of objects build by query results """ query = """SELECT tipo, quantidade_ocorrencias, ano FROM estatisticas_tipo ORDER BY tipo, ano ; """ resultado_query = self.executa_query(query) tipos_acidentes_ano_list = [] ultimo_tipo = '' for (tipo, quantidade_ocorrencias, ano) in zip( resultado_query['tipo'].values(), resultado_query['quantidade_ocorrencias'].values(), resultado_query['ano'].values() ): tipo = tipo.decode('iso-8859-1').encode('utf8') if (ultimo_tipo != tipo): tipos_acidentes_ano = AcidentesAno() tipos_acidentes_ano_list.append(tipos_acidentes_ano) tipos_acidentes_ano.tipo = tipo ultimo_tipo = tipo tipos_acidentes_ano.ano_list.append(ano) tipos_acidentes_ano.quantidade_ocorrencias_list.append( quantidade_ocorrencias ) return tipos_acidentes_ano_list