From 055e4906ef0a68805d2d048f159eb008de949c64 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Sun, 28 Apr 2013 16:10:02 +1000 Subject: [PATCH] Fix the report command. Only output if an outname is given. --- source-builder/sb/reports.py | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/source-builder/sb/reports.py b/source-builder/sb/reports.py index 4e37923..c57479d 100644 --- a/source-builder/sb/reports.py +++ b/source-builder/sb/reports.py @@ -302,17 +302,19 @@ class report: self.output_directive('Clean', package.clean()) self.config_end(name) - def buildset(self, name): + def buildset(self, name, opts = None, macros = None): self.bset_nesting += 1 self.buildset_start(name) - opts = copy.copy(self.opts) - macros = copy.copy(self.macros) + if opts is None: + opts = self.opts + if macros is None: + macros = self.macros bset = setbuilder.buildset(name, self.configs, opts, macros) for c in bset.load(): if c.endswith('.bset'): - self.buildset(c) + self.buildset(c, bset.opts, bset.macros) elif c.endswith('.cfg'): - self.config(c, opts, macros) + self.config(c, bset.opts, bset.macros) else: raise error.general('invalid config type: %s' % (c)) self.buildset_end(name) @@ -329,15 +331,16 @@ class report: self.out = outfile.getvalue() infile.close() outfile.close() - try: - o = open(name, "w") - o.write(self.out) - o.close() - del o - except IOError, err: - raise error.general('writing output file: %s: %s' % (name, err)) + if name is not None: + try: + o = open(name, "w") + o.write(self.out) + o.close() + del o + except IOError, err: + raise error.general('writing output file: %s: %s' % (name, err)) - def make(self, inname, outname, intro_text = None): + def make(self, inname, outname = None, intro_text = None): self.setup() self.introduction(inname, intro_text) config = build.find_config(inname, self.configs)