modules/reporting/jsondump.py
# 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)