From e2d5d41b28aeffa30d84bae8b043dd5558729ea9 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 21 Dec 2011 04:54:24 +0000 Subject: [PATCH] Add event-based write_nmaprun_open and write_nmaprun_close. These allow beginning and ending an nmaprun without having to keep its children in memory. --- ndiff/ndiff | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/ndiff/ndiff b/ndiff/ndiff index f0148f9e3..527f70a95 100755 --- a/ndiff/ndiff +++ b/ndiff/ndiff @@ -19,6 +19,7 @@ import getopt import sys import time import xml.sax +import xml.sax.saxutils import xml.dom.minidom verbose = False @@ -61,6 +62,22 @@ class Scan(object): finally: f.close() + def write_nmaprun_open(self, writer): + attrs = {} + if self.scanner is not None: + attrs[u"scanner"] = self.scanner + if self.args is not None: + attrs[u"args"] = self.args + if self.start_date is not None: + attrs[u"start"] = "%d" % time.mktime(self.start_date.timetuple()) + attrs[u"startstr"] = self.start_date.strftime("%a %b %d %H:%M:%S %Y") + if self.version is not None: + attrs[u"version"] = self.version + writer.startElement(u"nmaprun", attrs) + + def write_nmaprun_close(self, writer): + writer.endElement(u"nmaprun") + def nmaprun_to_dom_fragment(self, document): frag = document.createDocumentFragment() elem = document.createElement(u"nmaprun")