]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
A number of improvements based on a discussion with Chris McCafferty
authorFred Drake <fdrake@acm.org>
Wed, 4 Apr 2001 17:47:25 +0000 (17:47 +0000)
committerFred Drake <fdrake@acm.org>
Wed, 4 Apr 2001 17:47:25 +0000 (17:47 +0000)
<christopher.mccafferty@csg.ch>:

Add javascript: and telnet: to the types of URLs we ignore.

Add support for several additional URL-valued attributes on the BODY,
FRAME, IFRAME, LINK, OBJECT, and SCRIPT elements.

Tools/webchecker/webchecker.py

index e79e7f10c09726179890c1a6902d0bfd9c51b97e..b369ab809ce7462733033233ce3b026fde439c04 100755 (executable)
@@ -481,8 +481,9 @@ class Checker:
         if self.name_table.has_key(url):
             return self.name_table[url]
 
-        if url[:7] == 'mailto:' or url[:5] == 'news:':
-            self.note(1, " Not checking mailto/news URL")
+        scheme = urllib.splittype(url)
+        if scheme in ('mailto', 'news', 'javascript', 'telnet'):
+            self.note(1, " Not checking %s URL" % scheme)
             return None
         isint = self.inroots(url)
 
@@ -792,10 +793,31 @@ class MyHTMLParser(sgmllib.SGMLParser):
     def do_area(self, attributes):
         self.link_attr(attributes, 'href')
 
+    def do_body(self, attributes):
+        self.link_attr(attributes, 'background')
+
     def do_img(self, attributes):
         self.link_attr(attributes, 'src', 'lowsrc')
 
     def do_frame(self, attributes):
+        self.link_attr(attributes, 'src', 'longdesc')
+
+    def do_iframe(self, attributes):
+        self.link_attr(attributes, 'src', 'longdesc')
+
+    def do_link(self, attributes):
+        for name, value in attributes:
+            if name == "rel":
+                parts = string.split(string.lower(value))
+                if (  parts == ["stylesheet"]
+                      or parts == ["alternate", "stylesheet"]):
+                    self.link_attr(attributes, "href")
+                    break
+
+    def do_object(self, attributes):
+        self.link_attr(attributes, 'data', 'usemap')
+
+    def do_script(self, attributes):
         self.link_attr(attributes, 'src')
 
     def link_attr(self, attributes, *args):