Changeset 1f77f9e in rtems-source-builder


Ignore:
Timestamp:
Dec 5, 2014, 5:44:36 AM (5 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.10, 4.11, 4.9, master
Children:
14e5d2e
Parents:
97e083a
git-author:
Sebastian Huber <sebastian.huber@…> (12/05/14 05:44:36)
git-committer:
Sebastian Huber <sebastian.huber@…> (12/11/14 06:50:09)
Message:

sb: Add XML formatter

File:
1 edited

Legend:

Unmodified
Added
Removed
  • source-builder/sb/reports.py

    r97e083a r1f77f9e  
    8989        c.line('Report: %s' % (name))
    9090        return c.get()
     91
     92    def epilogue(self, name):
     93        return ''
    9194
    9295class asciidoc_formatter(formatter):
     
    161164        return c.get()
    162165
     166class xml_formatter(formatter):
     167    def format(self):
     168        return 'xml'
     169
     170    def ext(self):
     171        return '.xml'
     172
     173    def introduction(self, name, now, intro_text):
     174        c = chunk()
     175        c.line('<RTEMSSourceBuilderReport>')
     176        if intro_text:
     177            c.line('\t<Introduction>%s</Introduction>' % (intro_text))
     178        return c.get()
     179
     180    def epilogue(self, name):
     181        c = chunk()
     182        c.line('</RTEMSSourceBuilderReport>')
     183        return c.get()
     184
    163185def _tree_name(path_):
    164186    return path.splitext(path.basename(path_))[0]
     
    298320        self.out += self.formatter.introduction(name, now, intro_text)
    299321        self.git_status()
     322
     323    def epilogue(self, name):
     324        self.out += self.formatter.epilogue(name)
    300325
    301326    def config_start(self, name, _config):
     
    631656        self.introduction(inname, intro_text)
    632657        self.generate(inname)
     658        self.epilogue(inname)
    633659        self.write(outname)
    634660
     
    637663        optargs = { '--list-bsets':   'List available build sets',
    638664                    '--list-configs': 'List available configurations',
    639                     '--format':       'Output format (text, html, asciidoc, ini)',
     665                    '--format':       'Output format (text, html, asciidoc, ini, xml)',
    640666                    '--output':       'File name to output the report' }
    641667        opts = options.load(args, optargs)
     
    664690                elif format_opt[1] == 'ini':
    665691                    formatter = ini_formatter()
     692                elif format_opt[1] == 'xml':
     693                    formatter = xml_formatter()
    666694                else:
    667695                    raise error.general('invalid format: %s' % (format_opt[1]))
Note: See TracChangeset for help on using the changeset viewer.