Skip to content

Instantly share code, notes, and snippets.

@igniteflow
Created May 19, 2016 07:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save igniteflow/9a2204ed0584fe2f81f12eeda9368247 to your computer and use it in GitHub Desktop.
Save igniteflow/9a2204ed0584fe2f81f12eeda9368247 to your computer and use it in GitHub Desktop.
Python Coverage XML file parser in Coffeescript
fs = require 'fs',
xml2js = require 'xml2js'
coverage =
modules: []
filename = 'coverage.xml'
parser = new xml2js.Parser()
fs.readFile __dirname + '/' + filename, (err, data) ->
parser.parseString data, (err, result) ->
for packageContainer in result.coverage.packages
for package_ in packageContainer.package
for classes in package_.classes
for klass in classes.class
module =
name: klass.$.name
lines: []
for line in klass.lines
for l in line.line
coverageLine =
hits: l.$.hits
lineNumber: l.$.number
module.lines.push coverageLine
coverage.modules.push module
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment