from dabo.dReportWriter import dReportWriter

def output_badge_pdf(outf, dataset):
	"""Print the pdf registration badge(s) to outf, using the passed dataset.

	Dataset is a sequence of dictionaries. Each dictionary in the sequence
	must have the following keys:

		-> first_name     "Carl"
		-> last_name      "Karsten"
		-> attendeeID     1234
		-> chair          True
		-> speaker        True
		-> KeyNote        True
		-> sponsor        True
		-> vendor         True
		-> shirt_size     "L"
		-> shirt_back     True
	"""
	rw = dReportWriter(OutputFile=outf, ReportFormFile="badge.rfxml", Cursor=dataset)
	rw.write()


if __name__ == "__main__":
	from dabo.lib.reportUtils import previewPDF
	ds = [{'first_name':'Carl', 'last_name':'Karsten', 'attendeeID':1234, 
	       'chair':True, 'speaker':True, 'KeyNote':True, 'sponser':True, 
	       'vendor':True, 'shirt_size':'L', 'shirt_back':True }]
	f = open("test.pdf", "wb")
	output_badge_pdf(f, ds)
	f.close()
	previewPDF("test.pdf")

