OSDN Git Service

enchance error handling
authorhylom <hylom@mbwhite.local>
Mon, 26 Apr 2010 08:28:58 +0000 (17:28 +0900)
committerhylom <hylom@mbwhite.local>
Mon, 26 Apr 2010 08:28:58 +0000 (17:28 +0900)
htmltree.py

index b437c05..d8dfa48 100644 (file)
@@ -8,6 +8,16 @@ by hylom <hylomm@@single_at_mark@@gmail.com>
 import HTMLParser
 import re
 
+class HTMLElementError(Exception):
+    def __init__(self, msg, elem):
+        self.msg = msg
+        self.elem = elem
+
+    def __repr__(self):
+        str = "HTML Element Error: %s in %s" % (self.msg, self.elem)
+        return str
+
+
 class HTMLElement(list):
     """HTML element object to use as tree nodes."""
     ROOT = 0
@@ -43,7 +53,7 @@ class HTMLElement(list):
         elif self.type == HTMLElement.TEXT:
             return "<TEXT:'%s'>" % self._text
         else:
-            return None
+            return "<UNKNOWN>"
 
     def _attrs2str(self):
         str = []
@@ -86,6 +96,7 @@ class HTMLElement(list):
             e = i.get_element_by_id(id)
             if e != None:
                 return e
+        #raise HTMLElementError("Element not found")
         return None
 
     def select(self, expr):