From c7c49a3dabc7b5813275cf2d31f07da0333c2c62 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Fri, 24 Apr 2009 00:05:41 -0400 Subject: HTML and CSS for html reporting are now in separate files. --- coverage/html.py | 185 ++++++------------------------------------------------- 1 file changed, 19 insertions(+), 166 deletions(-) (limited to 'coverage/html.py') diff --git a/coverage/html.py b/coverage/html.py index 416c6879..40ed3168 100644 --- a/coverage/html.py +++ b/coverage/html.py @@ -1,10 +1,20 @@ """HTML reporting for coverage.py""" -import os +import os, shutil from coverage import __version__ # pylint: disable-msg=W0611 from coverage.report import Reporter from coverage.templite import Templite + +def data_filename(fname): + """Return the path to a data file of ours.""" + return os.path.join(os.path.split(__file__)[0], fname) + +def data(fname): + """Return the contents of a data file of ours.""" + return open(data_filename(fname)).read() + + class HtmlReporter(Reporter): """HTML reporting. @@ -13,10 +23,17 @@ class HtmlReporter(Reporter): def __init__(self, coverage, ignore_errors=False): super(HtmlReporter, self).__init__(coverage, ignore_errors) self.directory = None - self.source_tmpl = Templite(SOURCE, globals()) + self.source_tmpl = Templite(data("htmlfiles/pyfile.html"), globals()) def report(self, morfs, directory=None, omit_prefixes=None): assert directory, "must provide a directory for html reporting" + # Create the once-per-directory files. + shutil.copyfile( + data_filename("htmlfiles/style.css"), + os.path.join(directory, "style.css") + ) + + # Process all the files. self.report_files(self.html_file, morfs, directory, omit_prefixes) def html_file(self, cu, statements, excluded, missing): @@ -79,167 +96,3 @@ def not_empty(t): def format_pct(p): return "%.0f" % p - -# Templates - -# For making line numbers and text different fonts: -# http://24ways.org/2006/compose-to-a-vertical-rhythm - -SOURCE = """\ - - - -Coverage for {{cu.name|escape}} - - - - - -
- - - - - -
- {% for line in lines %} -

{{line.number}}

- {% endfor %} -
- {% for line in lines %} -

{{line.text.rstrip|escape|not_empty}}

- {% endfor %} -
-
- - - - - -""" -- cgit v1.2.1