def output_json(**args): """ Output JSON data """ outputfile = args.get('outputfile', None) if len(outputfile) != 1: print "You need to specific one and only one output file" return outputfile = outputfile[0] #need to load in this order for relations #metadataorg #dataorg #source #sourcefile #wrap up files #dataset outputobj = [] for metadataorg in MetadataOrg.all().all(): outputobj.append(metadataorg.to_json_dump()) for dataorg in DataOrg.all().all(): outputobj.append(dataorg.to_json_dump()) for source in Source.all().all(): outputobj.append(source.to_json_dump()) for sourcefile in SourceFile.all().all(): outputobj.append(sourcefile.to_json_dump()) for dataset in Dataset.all().all(): outputobj.append(dataset.to_json_dump()) with open(outputfile, 'wb') as f: json.dump(outputobj, f) print "success" print "written to ", outputfile