diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2012-11-09 21:34:42 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2012-11-09 21:34:42 -0500 |
commit | 55cf19a0a29042cabbaf53644ee13d037ce88afb (patch) | |
tree | ffb488ccb3b988349d9eb4b81e045a5632a5332c /coverage | |
parent | 429868d515cc4ea74d625715512c57d3b5b93e73 (diff) | |
download | python-coveragepy-git-55cf19a0a29042cabbaf53644ee13d037ce88afb.tar.gz |
Now the title of the HTML report can be set.
Diffstat (limited to 'coverage')
-rw-r--r-- | coverage/cmdline.py | 9 | ||||
-rw-r--r-- | coverage/config.py | 3 | ||||
-rw-r--r-- | coverage/control.py | 7 | ||||
-rw-r--r-- | coverage/html.py | 6 | ||||
-rw-r--r-- | coverage/htmlfiles/index.html | 4 |
5 files changed, 23 insertions, 6 deletions
diff --git a/coverage/cmdline.py b/coverage/cmdline.py index fe8b9955..9e83e21b 100644 --- a/coverage/cmdline.py +++ b/coverage/cmdline.py @@ -92,6 +92,10 @@ class Opts(object): help="Use a simpler but slower trace method. Try this if you get " "seemingly impossible results!" ) + title = optparse.make_option( + '', '--title', action='store', metavar="TITLE", + help="A text string to use as the title on the HTML." + ) version = optparse.make_option( '', '--version', action='store_true', help="Display version information and exit." @@ -126,6 +130,7 @@ class CoverageOptionParser(optparse.OptionParser, object): show_missing=None, source=None, timid=None, + title=None, erase_first=None, version=None, ) @@ -281,6 +286,7 @@ CMDS = { Opts.ignore_errors, Opts.omit, Opts.include, + Opts.title, ] + GLOBAL_ARGS, usage = "[options] [modules]", description = "Create an HTML report of the coverage of the files. " @@ -442,7 +448,8 @@ class CoverageScript(object): directory=options.directory, **report_args) if 'html' in options.actions: total = self.coverage.html_report( - directory=options.directory, **report_args) + directory=options.directory, title=options.title, + **report_args) if 'xml' in options.actions: outfile = options.outfile total = self.coverage.xml_report(outfile=outfile, **report_args) diff --git a/coverage/config.py b/coverage/config.py index 0d1da5f4..7b77e467 100644 --- a/coverage/config.py +++ b/coverage/config.py @@ -54,6 +54,7 @@ class CoverageConfig(object): # Defaults for [html] self.html_dir = "htmlcov" self.extra_css = None + self.html_title = "Coverage report" # Defaults for [xml] self.xml_output = "coverage.xml" @@ -133,6 +134,8 @@ class CoverageConfig(object): self.html_dir = cp.get('html', 'directory') if cp.has_option('html', 'extra_css'): self.extra_css = cp.get('html', 'extra_css') + if cp.has_option('html', 'title'): + self.html_title = cp.get('html', 'title') # [xml] if cp.has_option('xml', 'output'): diff --git a/coverage/control.py b/coverage/control.py index 726d3f37..bda19a9b 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -561,7 +561,7 @@ class coverage(object): reporter.report(morfs, directory=directory) def html_report(self, morfs=None, directory=None, ignore_errors=None, - omit=None, include=None, extra_css=None): + omit=None, include=None, extra_css=None, title=None): """Generate an HTML report. The HTML is written to `directory`. The file "index.html" is the @@ -571,6 +571,9 @@ class coverage(object): `extra_css` is a path to a file of other CSS to apply on the page. It will be copied into the HTML directory. + `title` is a text string (not HTML) to use as the title of the HTML + report. + See `coverage.report()` for other arguments. Returns a float, the total percentage covered. @@ -578,7 +581,7 @@ class coverage(object): """ self.config.from_args( ignore_errors=ignore_errors, omit=omit, include=include, - html_dir=directory, extra_css=extra_css, + html_dir=directory, extra_css=extra_css, html_title=title, ) reporter = HtmlReporter(self, self.config) return reporter.report(morfs) diff --git a/coverage/html.py b/coverage/html.py index 6994711a..fc1bee43 100644 --- a/coverage/html.py +++ b/coverage/html.py @@ -47,6 +47,7 @@ class HtmlReporter(Reporter): self.directory = None self.template_globals = { 'escape': escape, + 'title': self.config.html_title, '__url__': coverage.__url__, '__version__': coverage.__version__, } @@ -252,9 +253,12 @@ class HtmlReporter(Reporter): self.totals = totals = sum([f['nums'] for f in files]) extra_css = self.extra_css + html = index_tmpl.render(locals()) + if sys.version_info < (3, 0): + html = html.decode("utf-8") self.write_html( os.path.join(self.directory, "index.html"), - index_tmpl.render(locals()) + html ) # Write the latest hashes for next time. diff --git a/coverage/htmlfiles/index.html b/coverage/htmlfiles/index.html index c6d9eec0..5a7c8c2e 100644 --- a/coverage/htmlfiles/index.html +++ b/coverage/htmlfiles/index.html @@ -2,7 +2,7 @@ <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> - <title>Coverage report</title> + <title>{{ title|escape }}</title> <link rel='stylesheet' href='style.css' type='text/css'> {% if extra_css %} <link rel='stylesheet' href='{{ extra_css }}' type='text/css'> @@ -19,7 +19,7 @@ <div id='header'> <div class='content'> - <h1>Coverage report: + <h1>{{ title|escape }}: <span class='pc_cov'>{{totals.pc_covered_str}}%</span> </h1> <img id='keyboard_icon' src='keybd_closed.png'> |