]> git.phdru.name Git - bookmarks_db.git/blobdiff - bkmk_parser.py
If sys.getdefaultencoding() returns "ascii" - use
[bookmarks_db.git] / bkmk_parser.py
index be39a322bb803032daa46e2d9c740985508b1d71..d43674138e33f4f2eccc2b577a9ff2656c725cb9 100755 (executable)
@@ -1,7 +1,7 @@
 """
    Parser for Netscape Navigator's and Mozilla's bookmarks.html
 
-   Written by BroytMann. Copyright (C) 1997-2004 PhiloSoft Design
+   Written by BroytMann. Copyright (C) 1997-2005 PhiloSoft Design
 """
 
 
@@ -70,6 +70,13 @@ class BkmkParser(HTMLParser):
          else:
             global DEFAULT_CHARSET
             DEFAULT_CHARSET = sys.getdefaultencoding()
+            if DEFAULT_CHARSET == "ascii":
+               try:
+                  import locale
+               except ImportError:
+                  pass
+               else:
+                  DEFAULT_CHARSET = locale.getpreferredencoding()
 
 
    def start_title(self, attrs):
@@ -141,7 +148,7 @@ class BkmkParser(HTMLParser):
             keyword = value
 
       debug("Bookmark points to: `%s'" % href)
-      bookmark = Bookmark(href, add_date, last_visit, last_modified, keyword)
+      bookmark = Bookmark(href, add_date, last_visit, last_modified, keyword or '')
       self.current_object = bookmark
       self.current_folder.append(bookmark)
       self.urls += 1