From 040139e6d8d5db4cdec897bcb1d04cee2b187480 Mon Sep 17 00:00:00 2001 From: calvin Date: Mon, 25 Apr 2005 14:51:35 +0000 Subject: [PATCH] count errors, warnings and number of checked links in the logger classes git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@2527 e7d03fd6-7b0d-0410-9947-9c21f3af8025 --- linkcheck/logger/__init__.py | 20 ++++++++++++++++++-- linkcheck/logger/blacklist.py | 4 ++-- linkcheck/logger/csvlog.py | 4 ++-- linkcheck/logger/dot.py | 4 ++-- linkcheck/logger/gml.py | 4 ++-- linkcheck/logger/html.py | 12 +++++++----- linkcheck/logger/none.py | 4 ++-- linkcheck/logger/sql.py | 4 ++-- linkcheck/logger/text.py | 14 ++++++++------ linkcheck/logger/xmllog.py | 4 ++-- 10 files changed, 47 insertions(+), 27 deletions(-) diff --git a/linkcheck/logger/__init__.py b/linkcheck/logger/__init__.py index fb96fd09..478b621c 100644 --- a/linkcheck/logger/__init__.py +++ b/linkcheck/logger/__init__.py @@ -62,8 +62,12 @@ class Logger (object): self.logspaces = {} # maximum indent of spaces for alignment self.max_indent = 0 + # number of logged urls + self.number = 0 # number of encountered errors self.errors = 0 + # number of encountered warningss + self.warnings = 0 # encoding of output self.output_encoding = args.get("encoding", "iso-8859-1") @@ -177,13 +181,25 @@ class Logger (object): numspaces = (self.max_indent - len(self.field(key))) self.logspaces[key] = u" " * numspaces - def new_url (self, url_data): + def log_filter_url (self, url_data, do_print): + """ + Log a new url with this logger if do_filter is True. Else + only update accounting data + """ + self.number += 1 + if not url_data.valid: + self.errors += 1 + self.warnings += len(url_data.warning) + if do_print: + self.log_url(url_data) + + def log_url (self, url_data): """ Log a new url with this logger. """ raise NotImplementedError, "abstract function" - def end_output (self, linknumber=-1): + def end_output (self): """ End of output, used for cleanup (eg output buffer flushing). """ diff --git a/linkcheck/logger/blacklist.py b/linkcheck/logger/blacklist.py index ef1c36bf..599546f9 100644 --- a/linkcheck/logger/blacklist.py +++ b/linkcheck/logger/blacklist.py @@ -56,7 +56,7 @@ class BlacklistLogger (linkcheck.logger.Logger): """ pass - def new_url (self, url_data): + def log_url (self, url_data): """ Put invalid url in blacklist, delete valid url from blacklist. """ @@ -71,7 +71,7 @@ class BlacklistLogger (linkcheck.logger.Logger): if not url_data.valid: self.blacklist[key] = 1 - def end_output (self, linknumber=-1): + def end_output (self): """ Write blacklist file. """ diff --git a/linkcheck/logger/csvlog.py b/linkcheck/logger/csvlog.py index dbda2186..ee7ab0e4 100644 --- a/linkcheck/logger/csvlog.py +++ b/linkcheck/logger/csvlog.py @@ -92,7 +92,7 @@ class CSVLogger (linkcheck.logger.Logger): if row: self.writer.writerow(row) - def new_url (self, url_data): + def log_url (self, url_data): """ Print csv formatted url check info. """ @@ -116,7 +116,7 @@ class CSVLogger (linkcheck.logger.Logger): self.writer.writerow(row) self.flush() - def end_output (self, linknumber=-1): + def end_output (self): """ Print end of checking info as csv comment. """ diff --git a/linkcheck/logger/dot.py b/linkcheck/logger/dot.py index 64b2c7a0..b23e0989 100644 --- a/linkcheck/logger/dot.py +++ b/linkcheck/logger/dot.py @@ -66,7 +66,7 @@ class DOTLogger (linkcheck.logger.Logger): self.write(u"// ") self.writeln(s=s, **args) - def new_url (self, url_data): + def log_url (self, url_data): """ Write one node and all possible edges. """ @@ -106,7 +106,7 @@ class DOTLogger (linkcheck.logger.Logger): self.writeln(u" ];") self.flush() - def end_output (self, linknumber=-1): + def end_output (self): """ Print end of checking info as DOT comment. """ diff --git a/linkcheck/logger/gml.py b/linkcheck/logger/gml.py index 2b04f7a6..8da2fa1e 100644 --- a/linkcheck/logger/gml.py +++ b/linkcheck/logger/gml.py @@ -67,7 +67,7 @@ class GMLLogger (linkcheck.logger.Logger): self.write(u"# ") self.writeln(s=s, **args) - def new_url (self, url_data): + def log_url (self, url_data): """ Write one node and all possible edges. """ @@ -110,7 +110,7 @@ class GMLLogger (linkcheck.logger.Logger): self.writeln(u" ]") self.flush() - def end_output (self, linknumber=-1): + def end_output (self): """ Print end of checking info as gml comment. """ diff --git a/linkcheck/logger/html.py b/linkcheck/logger/html.py index a684df3d..c3594afc 100644 --- a/linkcheck/logger/html.py +++ b/linkcheck/logger/html.py @@ -107,7 +107,7 @@ class HtmlLogger (linkcheck.logger.Logger): self.check_date() self.flush() - def new_url (self, url_data): + def log_url (self, url_data): """ Print url checking info as HTML. """ @@ -267,7 +267,6 @@ class HtmlLogger (linkcheck.logger.Logger): self.field("result")+u"") self.write(_("Valid")) else: - self.errors += 1 self.write(u""+ self.field("result")+u"") self.write(_("Error")) @@ -275,7 +274,7 @@ class HtmlLogger (linkcheck.logger.Logger): self.write(u": "+cgi.escape(url_data.result)) self.writeln(u"") - def end_output (self, linknumber=-1): + def end_output (self): """ Print end of checking info as HTML. """ @@ -284,10 +283,13 @@ class HtmlLogger (linkcheck.logger.Logger): if self.has_field("outro"): self.writeln() self.write(_("That's it.")+" ") - if linknumber >= 0: + if self.number >= 0: self.write(_n("%d link checked.", "%d links checked.", - linknumber) % linknumber) + self.number) % self.number) self.write(u" ") + self.write(_n("%d warning found.", "%d warnings found.", + self.warnings) % self.warnings) + self.write(u" ") self.writeln(_n("%d error found.", "%d errors found.", self.errors) % self.errors) self.writeln(u"
") diff --git a/linkcheck/logger/none.py b/linkcheck/logger/none.py index a6c3900f..a60cf4cc 100644 --- a/linkcheck/logger/none.py +++ b/linkcheck/logger/none.py @@ -38,13 +38,13 @@ class NoneLogger (linkcheck.logger.Logger): """ pass - def new_url (self, url_data): + def log_filter_url (self, url_data, do_filter): """ Do nothing. """ pass - def end_output (self, linknumber=-1): + def end_output (self): """ Do nothing. """ diff --git a/linkcheck/logger/sql.py b/linkcheck/logger/sql.py index fe588638..467a4066 100644 --- a/linkcheck/logger/sql.py +++ b/linkcheck/logger/sql.py @@ -89,7 +89,7 @@ class SQLLogger (linkcheck.logger.Logger): self.writeln() self.flush() - def new_url (self, url_data): + def log_url (self, url_data): """ Store url check info into the database. """ @@ -136,7 +136,7 @@ class SQLLogger (linkcheck.logger.Logger): }) self.flush() - def end_output (self, linknumber=-1): + def end_output (self): """ Print end of checking info as sql comment. """ diff --git a/linkcheck/logger/text.py b/linkcheck/logger/text.py index 69c991e1..d8badcc1 100644 --- a/linkcheck/logger/text.py +++ b/linkcheck/logger/text.py @@ -42,7 +42,7 @@ class TextLogger (linkcheck.logger.Logger): as a default and then switch to another configured output. So we must not print anything out at __init__ time. - C{def new_url (self, url_data)} + C{def log_filter_url (self, url_data, do_filter)} Called every time an url finished checking. All data we checked is in the UrlData object url_data. @@ -105,7 +105,7 @@ class TextLogger (linkcheck.logger.Logger): linkcheck.strformat.strtime(self.starttime)) self.flush() - def new_url (self, url_data): + def log_url (self, url_data): """ Print url checking info. """ @@ -224,14 +224,13 @@ class TextLogger (linkcheck.logger.Logger): color = self.colorvalid self.write(_("Valid"), color=color) else: - self.errors += 1 color = self.colorinvalid self.write(_("Error"), color=color) if url_data.result: self.write(u": "+url_data.result, color=color) self.writeln() - def end_output (self, linknumber=-1): + def end_output (self): """ Print end of output info, and flush all output buffers. """ @@ -240,11 +239,14 @@ class TextLogger (linkcheck.logger.Logger): if self.has_field('outro'): self.writeln() self.write(_("That's it.")+" ") - if linknumber >= 0: + if self.number >= 0: self.write(_n("%d link checked.", "%d links checked.", - linknumber) % linknumber) + self.number) % self.number) self.write(u" ") + self.write(_n("%d warning found.", "%d warnings found.", + self.warnings) % self.warnings) + self.write(u" ") self.writeln(_n("%d error found.", "%d errors found.", self.errors) % self.errors) self.stoptime = time.time() diff --git a/linkcheck/logger/xmllog.py b/linkcheck/logger/xmllog.py index 43755ae7..7edce3ef 100644 --- a/linkcheck/logger/xmllog.py +++ b/linkcheck/logger/xmllog.py @@ -107,7 +107,7 @@ class XMLLogger (linkcheck.logger.Logger): self.writeln(u'') self.flush() - def new_url (self, url_data): + def low_url (self, url_data): """ Write one node and all possible edges. """ @@ -157,7 +157,7 @@ class XMLLogger (linkcheck.logger.Logger): self.writeln(u" ") self.flush() - def end_output (self, linknumber=-1): + def end_output (self): """ Finish graph output, and print end of checking info as xml comment. """