def save_result(req, scan_id):
    if req.POST:
        scan = req.session.get("scan_result_" + scan_id, None)
        parser = NmapParser()
        fname = mktemp()
        ftemp = open(fname, "a", 0)
        ftemp.write(scan)
        ftemp.close()
        parser.set_xml_file(fname)
        parser.parse()
        parser.scan_name = req.POST['filename']
        parser.write_xml(open(fname, "w", 0))
        ftemp = open(fname, "r")
        scan = ftemp.read()
        if not scan:
            raise Http404

        if req.POST['destination'] == "database":
            Scans(scan_name=parser.scan_name,
                  nmap_xml_output=scan,
                  date=time())
            return HttpResponse("{'result': 'OK'}", "text/plain")
        else:
            response = HttpResponse(scan, "text/xml")
            response['Content-disposition'] = "attachment; filename=" + quote(
                req.POST['filename'].replace(" ", "_")) + ".usr"
            return response
    else:
        raise HttpError(400, "Invalid GET request.")
def save_result(req, scan_id):
    if req.POST:
        scan = req.session.get("scan_result_" + scan_id, None)
        parser = NmapParser()
        fname = mktemp()
        ftemp = open(fname, "a", 0)
        ftemp.write(scan)
        ftemp.close()
        parser.set_xml_file(fname)
        parser.parse()
        parser.scan_name = req.POST["filename"]
        parser.write_xml(open(fname, "w", 0))
        ftemp = open(fname, "r")
        scan = ftemp.read()
        if not scan:
            raise Http404

        if req.POST["destination"] == "database":
            Scans(scan_name=parser.scan_name, nmap_xml_output=scan, date=time())
            return HttpResponse("{'result': 'OK'}", "text/plain")
        else:
            response = HttpResponse(scan, "text/xml")
            response["Content-disposition"] = (
                "attachment; filename=" + quote(req.POST["filename"].replace(" ", "_")) + ".usr"
            )
            return response
    else:
        raise HttpError(400, "Invalid GET request.")