]> git.phdru.name Git - bookmarks_db.git/blobdiff - Robots/parse_html_beautifulsoup.py
More logging.
[bookmarks_db.git] / Robots / parse_html_beautifulsoup.py
index db291f9fd46df8607709333dbaa304eaba00007e..580831070aae1abb3526921b6c4da41ef6176541 100644 (file)
@@ -1,7 +1,7 @@
 """
    HTML Parser using BeautifulSoup
 
-   Written by BroytMann. Copyright (C) 2007, 2008 PhiloSoft Design
+   Written by Broytman. Copyright (C) 2007-2010 PhiloSoft Design
 """
 
 import re
@@ -87,22 +87,25 @@ def parse_html(filename, charset=None, log=None):
       # Lookup TITLE in the root
       title = root.title
 
-   if title is None:
-      title = ''
-   elif title.string:
-      title = title.string.encode(_charset)
-   else:
-      parts = []
-      for part in title:
-         if not isinstance(part, basestring):
-            part = unicode(part)
-         parts.append(part.strip())
-      title = ''.join(parts).encode(_charset)
+   if title is not None:
+      if title.string:
+         title = title.string.encode(_charset)
+      else:
+         parts = []
+         for part in title:
+            if not isinstance(part, basestring):
+               part = unicode(part)
+            parts.append(part.strip())
+         title = ''.join(parts).encode(_charset)
 
    meta = head.find(_find_contenttype, recursive=False)
    if meta:
       try:
-         __charset = meta.get("content").lower().split('charset=')[1].split(';')[0]
+         meta_content = meta.get("content")
+         if meta_content:
+             __charset = meta_content.lower().split('charset=')[1].split(';')[0]
+         else:
+             __charset = False
       except IndexError: # No charset in the META Content-Type
          meta_charset = False
       else: