From 14e79d23160b3e5737aa8c5e9be3adcae12afbff Mon Sep 17 00:00:00 2001 From: calvin Date: Fri, 8 Feb 2002 19:08:28 +0000 Subject: [PATCH] fix keyb interr. git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@366 e7d03fd6-7b0d-0410-9947-9c21f3af8025 --- debian/changelog | 6 ++++++ linkcheck/Logging.py | 20 ++++++++++++++++++++ linkcheck/UrlData.py | 6 ++++++ setup.py | 2 +- 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index a97fd664..433d242f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +linkchecker (1.3.20) unstable; urgency=low + + * fix keyboard interrupt + + -- Bastian Kleineidam Fri, 8 Feb 2002 20:11:53 +0100 + linkchecker (1.3.19) unstable; urgency=low * minor updates for documentation and german translation diff --git a/linkcheck/Logging.py b/linkcheck/Logging.py index 5f86a373..b0fff1d4 100644 --- a/linkcheck/Logging.py +++ b/linkcheck/Logging.py @@ -130,6 +130,7 @@ __init__(self, **args) def init(self): + if self.fd is None: return self.starttime = time.time() if self.logfield('intro'): self.fd.write("%s\n%s\n" % (Config.AppInfo, Config.Freeware)) @@ -140,6 +141,7 @@ __init__(self, **args) def newUrl(self, urlData): + if self.fd is None: return if self.logfield('url'): self.fd.write("\n"+_(LogFields['url'])+Spaces['url']+urlData.urlName) if urlData.cached: @@ -186,6 +188,7 @@ __init__(self, **args) def endOfOutput(self, linknumber=-1): + if self.fd is None: return if self.logfield('outro'): self.fd.write(_("\nThats it. ")) #if self.warnings==1: @@ -232,6 +235,7 @@ class HtmlLogger(StandardLogger): self.tableok = args['tableok'] def init(self): + if self.fd is None: return self.starttime = time.time() self.fd.write('\n'+ ''+Config.App+"\n" @@ -254,6 +258,7 @@ class HtmlLogger(StandardLogger): def newUrl(self, urlData): + if self.fd is None: return self.fd.write('
\n') if self.logfield("intro"): @@ -578,6 +590,7 @@ class XMLLogger(StandardLogger): def newUrl(self, urlData): """write one node and all possible edges""" + if self.fd is None: return node = urlData if node.url and not self.nodes.has_key(node.url): node.id = self.nodeid @@ -623,6 +636,7 @@ class XMLLogger(StandardLogger): self.fd.flush() def endOfOutput(self, linknumber=-1): + if self.fd is None: return self.fd.write("\n\n") if self.logfield("outro"): self.stoptime = time.time() @@ -652,6 +666,7 @@ class SQLLogger(StandardLogger): def init(self): + if self.fd is None: return self.starttime = time.time() if self.logfield("intro"): self.fd.write("-- "+(_("created by %s at %s\n") % (Config.AppName, @@ -662,6 +677,7 @@ class SQLLogger(StandardLogger): self.fd.flush() def newUrl(self, urlData): + if self.fd is None: return self.fd.write("insert into %s(urlname,recursionlevel,parentname," "baseref,errorstring,validstring,warningstring,infoString," "valid,url,line,name,checktime,downloadtime,cached) values " @@ -686,6 +702,7 @@ class SQLLogger(StandardLogger): self.fd.flush() def endOfOutput(self, linknumber=-1): + if self.fd is None: return if self.logfield("outro"): self.stoptime = time.time() duration = self.stoptime - self.starttime @@ -741,6 +758,7 @@ class CSVLogger(StandardLogger): self.separator = args['separator'] def init(self): + if self.fd is None: return self.starttime = time.time() if self.logfield("intro"): self.fd.write("# "+(_("created by %s at %s\n") % (Config.AppName, @@ -767,6 +785,7 @@ class CSVLogger(StandardLogger): self.fd.flush() def newUrl(self, urlData): + if self.fd is None: return self.fd.write( "%s%s%d%s%s%s%s%s%s%s%s%s%s%s%s%s%d%s%s%s%d%s%s%s%d%s%d%s%d\n" % ( urlData.urlName, self.separator, @@ -788,6 +807,7 @@ class CSVLogger(StandardLogger): def endOfOutput(self, linknumber=-1): + if self.fd is None: return self.stoptime = time.time() if self.logfield("outro"): duration = self.stoptime - self.starttime diff --git a/linkcheck/UrlData.py b/linkcheck/UrlData.py index 0342a63f..0f0f6390 100644 --- a/linkcheck/UrlData.py +++ b/linkcheck/UrlData.py @@ -241,6 +241,12 @@ class UrlData: self._check(config) except KeyboardInterrupt: pass + except socket.error: + # on Unix, ctrl-c can raise + # error: (4, 'Interrupted system call') + type, value = sys.exc_info()[:2] + if type!=4: + raise except: internal_error() diff --git a/setup.py b/setup.py index 037ae635..e4149275 100755 --- a/setup.py +++ b/setup.py @@ -129,7 +129,7 @@ myname = "Bastian Kleineidam" myemail = "calvin@users.sourceforge.net" setup (name = "linkchecker", - version = "1.3.19", + version = "1.3.20", description = "check HTML documents for broken links", author = myname, author_email = myemail,