# Copyright (C) 2010-2012 Cuckoo Sandbox Developers. # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org # See the file 'docs/LICENSE' for copying permission. import os import json from lib.cuckoo.common.abstracts import Report from lib.cuckoo.common.exceptions import CuckooReportError class JsonDump(Report): """Saves analysis results in JSON format.""" def run(self, results): """Writes report. @param results: Cuckoo results dict. @raise CuckooReportError: if fails to write report. """ try: report = open(os.path.join(self.reports_path, "report.json"), "w") report.write(json.dumps(results, sort_keys=False, indent=4)) report.close() except (TypeError, IOError) as e: raise CuckooReportError("Failed to generate JSON report: %s" % e) .