def create_template(state): state_cities = brazilian_cities_per_state()[state] result = [ {"municipio": "TOTAL NO ESTADO", "confirmados": None, "mortes": None}, {"municipio": "Importados/Indefinidos", "confirmados": None, "mortes": None}, ] for city in state_cities: result.append({"municipio": city, "confirmados": None, "mortes": None}) return rows.import_from_dicts(result)
def run(): """ Run with: $ python manage.py runscript brazilian_cities """ cities = brazilian_cities_per_state() for state, state_cities in cities.items(): print(f"===== {state} =====") for city in state_cities: print(f" {city}") print()
def sample_spreadsheet_view(self, request, state): try: cities = brazilian_cities_per_state()[state] except KeyError: raise Http404 if not user_has_state_permission(request.user, state): raise Http404 csv_rows = [ ("municipio", "confirmados", "mortes"), (TOTAL_LINE_DISPLAY, None, None), (UNDEFINED_DISPLAY, None, None), ] + [(city, None, None) for city in cities] response = HttpResponse(content_type="text/csv") response[ "Content-Disposition"] = f'attachment; filename="modelo-{state}.csv"' writer = csv.writer(response) writer.writerows(csv_rows) return response
def number_of_cities_for_state(self, state): return len(brazilian_cities_per_state()[state])
def number_of_cities(self): return sum( len(cities) for cities in brazilian_cities_per_state().values())