importjsonfromdatetimeimportdatetimefromgroupdocs.assemblyimportDataSourceInfo,DocumentAssemblerdefparse_dates(item):# JSON has no dates: turn the order dates into datetime objects for the templateforkeyin("OrderDate","ShippingDate"):ifkeyinitem:item[key]=datetime.strptime(item[key],"%Y-%m-%dT%H:%M:%S")returnitemwithopen("orders.json",encoding="utf-8")asf:orders=json.load(f,object_hook=parse_dates)assembler=DocumentAssembler()assembler.assemble_document("bubble-chart.msg","bubble-chart-report.msg",[DataSourceInfo(orders,"orders"),DataSourceInfo("Harbor Lane Provisions <orders@harborlane.example>","sender"),DataSourceInfo(["Quayside Bistro <orders@quaysidebistro.example>","jonas.weber@harborlane.example"],"recipients"),DataSourceInfo("amara.osei@harborlane.example","cc"),DataSourceInfo("Bubble chart","subject"),])
The following sample file is used in this example: bubble-chart.msg
The following sample file is used in this example: orders.json