From 42c3e713293fc15165c166f738543eadaca17399 Mon Sep 17 00:00:00 2001 From: calvin Date: Thu, 20 Nov 2008 07:52:02 +0000 Subject: [PATCH] Improved and tested opera bookmark parser git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@3863 e7d03fd6-7b0d-0410-9947-9c21f3af8025 --- linkcheck/checker/urlbase.py | 11 +++++------ tests/checker/test_file.py | 4 ++++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/linkcheck/checker/urlbase.py b/linkcheck/checker/urlbase.py index 6f54e01c..f7539362 100644 --- a/linkcheck/checker/urlbase.py +++ b/linkcheck/checker/urlbase.py @@ -835,11 +835,9 @@ class UrlBase (object): self.aggregate.urlqueue.put(url_data) def parse_opera (self): - """ - Parse an opera bookmark file. - """ + """Parse an opera bookmark file.""" log.debug(LOG_CHECK, "Parsing Opera bookmarks %s", self) - name = "" + name = None lineno = 0 for line in self.get_content().splitlines(): lineno += 1 @@ -848,12 +846,13 @@ class UrlBase (object): name = line[5:] elif line.startswith("URL="): url = line[4:] - if url: + if url and name is not None: url_data = get_url_from(url, self.recursion_level+1, self.aggregate, parent_url=self.url, line=lineno, name=name) self.aggregate.urlqueue.put(url_data) - name = "" + else: + name = None def parse_text (self): """ diff --git a/tests/checker/test_file.py b/tests/checker/test_file.py index 27048ed4..1ae027e9 100644 --- a/tests/checker/test_file.py +++ b/tests/checker/test_file.py @@ -62,6 +62,10 @@ class TestFile (LinkCheckTest): """Test firefox 3 bookmark file parsing.""" self.file_test("places.sqlite") + def test_opera_bookmarks (self): + """Test Opera bookmark file parsing.""" + self.file_test("opera6.adr") + def test_good_file (self): url = u"file://%(curdir)s/%(datadir)s/file.txt" % self.get_attrs() nurl = self.norm(url)