Exemple #1
0
def measles_mini_summary_csv(request, file_name):
    output = StringIO.StringIO()
    csvio = csv.writer(output)
    header = False
    summary =  ReportCHWStatus.measles_mini_summary()
    rows = []
    row = []
    row.append("Facility")
    row.append("No. Vaccinated")
    row.append("No. Eligible")
    row.append("%")
    rows.append(row)
    for info in summary:
        info["percentage"] = round(float(float(info["vaccinated_cases"])/float(info["eligible_cases"]))*100, 2); 
        
        row = []
        row.append(u"%(clinic)s"%info)
        row.append(u"%(vaccinated_cases)s"%info)
        row.append(u"%(eligible_cases)s"%info)
        row.append(u"%(percentage)s%%"%info)
        rows.append(row)
    # Write rows on CSV
    for row in rows:
        csvio.writerow([cell for cell in row])    
    response = HttpResponse(mimetype='text/csv')
    response['Content-Disposition'] = "attachment; filename=%s" % file_name
    response.write(output.getvalue())
    return response