summaryrefslogtreecommitdiff
path: root/coverage
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2012-11-09 21:34:42 -0500
committerNed Batchelder <ned@nedbatchelder.com>2012-11-09 21:34:42 -0500
commit55cf19a0a29042cabbaf53644ee13d037ce88afb (patch)
treeffb488ccb3b988349d9eb4b81e045a5632a5332c /coverage
parent429868d515cc4ea74d625715512c57d3b5b93e73 (diff)
downloadpython-coveragepy-git-55cf19a0a29042cabbaf53644ee13d037ce88afb.tar.gz
Now the title of the HTML report can be set.
Diffstat (limited to 'coverage')
-rw-r--r--coverage/cmdline.py9
-rw-r--r--coverage/config.py3
-rw-r--r--coverage/control.py7
-rw-r--r--coverage/html.py6
-rw-r--r--coverage/htmlfiles/index.html4
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'>