Add warning tag attribute in XML loggers.

This commit is contained in:
Bastian Kleineidam 2011-03-15 13:42:21 +01:00
parent 8bd8b7c0b7
commit 82e5ba8ce6
8 changed files with 14 additions and 9 deletions

View file

@ -1,5 +1,8 @@
6.6 "" (released xx.xx.2011)
Changes:
- logging: Add warning tag attribute in XML loggers.
6.5 "The Abyss" (released 13.3.2011)

View file

@ -1083,7 +1083,7 @@ class UrlBase (object):
Indicates if URL data has been loaded from cache.
- url_data.result: unicode
Result string
- url_data.warnings: list of unicode
- url_data.warnings: list of tuples (tag, warning message)
List of tagged warnings for this URL.
- url_data.name: unicode string or None
name of URL (eg. filename or link name)
@ -1116,7 +1116,7 @@ class UrlBase (object):
extern=self.extern[0],
cached=self.cached,
result=self.result,
warnings=[x[1] for x in self.warnings],
warnings=self.warnings[:],
name=self.name or u"",
title=self.get_title(),
parent_url=self.parent_url or u"",

View file

@ -88,7 +88,7 @@ class CSVLogger (Logger):
for s in (url_data.base_url,
url_data.parent_url, url_data.base_ref,
url_data.result,
self.linesep.join(url_data.warnings),
self.linesep.join(x[1] for x in url_data.warnings),
self.linesep.join(url_data.info),
url_data.valid, url_data.url,
url_data.line, url_data.column,

View file

@ -71,8 +71,9 @@ class CustomXMLLogger (xmllog.XMLLogger):
self.xml_endtag(u"infos")
if url_data.warnings and self.has_part('warning'):
self.xml_starttag(u"warnings")
for data in url_data.warnings:
self.xml_tag(u"warning", data)
for tag, data in url_data.warnings:
attrs = {"tag": tag}
self.xml_tag(u"warning", data, attrs)
self.xml_endtag(u"warnings")
if self.has_part("result"):
attrs = {}

View file

@ -220,7 +220,7 @@ class HtmlLogger (Logger):
def write_warning (self, url_data):
"""Write url_data.warnings."""
sep = u"<br>"+os.linesep
text = sep.join(cgi.escape(x) for x in url_data.warnings)
text = sep.join(cgi.escape(x[1]) for x in url_data.warnings)
self.writeln(u'<tr><td bgcolor="' + self.colorwarning + u'" '+
u'valign="top">' + self.part("warning") +
u'</td><td bgcolor="' + self.colorwarning + u'">' +

View file

@ -106,7 +106,7 @@ class SQLLogger (Logger):
'base_ref': sqlify((url_data.base_ref)),
'valid': intify(url_data.valid),
'result': sqlify(url_data.result),
'warning': sqlify(os.linesep.join(url_data.warnings)),
'warning': sqlify(os.linesep.join(x[1] for x in url_data.warnings)),
'info': sqlify(os.linesep.join(url_data.info)),
'url': sqlify(urlutil.url_quote(url_data.url)),
'line': url_data.line,

View file

@ -175,7 +175,8 @@ class TextLogger (Logger):
def write_warning (self, url_data):
"""Write url_data.warning."""
self.write(self.part("warning") + self.spaces("warning"))
self.writeln(self.wrap(url_data.warnings, 65), color=self.colorwarning)
warning_msgs = [x[1] for x in url_data.warnings]
self.writeln(self.wrap(warning_msgs, 65), color=self.colorwarning)
def write_result (self, url_data):
"""Write url_data.result."""

View file

@ -79,7 +79,7 @@ class TestLogger (linkcheck.logger.Logger):
"is located in" not in info:
self.result.append(u"info %s" % info)
if self.has_part('warning'):
for warning in url_data.warnings:
for tag, warning in url_data.warnings:
self.result.append(u"warning %s" % warning)
if self.has_part('result'):
self.result.append(u"valid" if url_data.valid else u"error")