From b5fe741e0a6e0f450bb1a1c442e40eebafbf17cd Mon Sep 17 00:00:00 2001 From: Tim Zehta Date: Wed, 5 Nov 2014 09:42:08 -0600 Subject: [PATCH] support stdout via output file name of "-" --- gsa_admin.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/gsa_admin.py b/gsa_admin.py index 76a5193..4658216 100755 --- a/gsa_admin.py +++ b/gsa_admin.py @@ -169,14 +169,19 @@ def sign(self, password): self.setXMLContents(doc.toxml()) def writeFile(self, filename): - if os.path.exists(filename): - log.error("Output file exists") - sys.exit(1) doc = xml.dom.minidom.parseString(self.configXMLString) - outputXMLFile = codecs.open(filename, 'w', "utf-8") - log.debug("Writing XML to %s" % filename) - # GSA newer than 6.? expects '' to be on the second line. - outputXMLFile.write(doc.toxml().replace("", "\n", 1)) + if filename == "-": + log.debug("Writing XML to stdout") + # GSA newer than 6.? expects '' to be on the second line. + sys.stdout.write(doc.toxml().replace("", "\n", 1)) + else: + if os.path.exists(filename): + log.error("Output file exists") + sys.exit(1) + outputXMLFile = codecs.open(filename, 'w', "utf-8") + log.debug("Writing XML to %s" % filename) + # GSA newer than 6.? expects '' to be on the second line. + outputXMLFile.write(doc.toxml().replace("", "\n", 1)) def verifySignature(self, password): computedSignature = self.computeSignature(password) @@ -832,7 +837,7 @@ def runCusSscript(self, sscript_file, out_fd, timeout=180): help="Input XML file", metavar="FILE") parser.add_option("-o", "--output", dest="outputFile", - help="Output file name", metavar="FILE") + help="Output file name or '-', meaning stdout", metavar="FILE") parser.add_option("-g", "--sign-password", dest="signpassword", help="Sign password for signing/import/export")