except:
etype, emsg, tb = sys.exc_info()
self.log(" no icon : %s %s" % (etype, emsg))
- etype = None
- emsg = None
- tb = None
+ etype = emsg = tb = None
icons[icon] = None
else:
content_type = headers["Content-Type"]
- if content_type.startswith("image/"):
+ if content_type.startswith("application/") \
+ or content_type.startswith("image/") \
+ or content_type.startswith("text/plain"):
icon_file = open(icon_fname, "rb")
icon_data = icon_file.read()
icon_file.close()
bookmark.icon_href = icon
- bookmark.icon = "data:%s;base64,%s" % (content_type, b64encode(icon_data))
self.log(" got icon : %s" % content_type)
+ if content_type.startswith("application/") \
+ or content_type.startswith("text/plain"):
+ self.log(" got non-image icon, assume x-icon")
+ content_type = 'image/x-icon'
+ bookmark.icon = "data:%s;base64,%s" % (content_type, b64encode(icon_data))
icons[icon] = (content_type, bookmark.icon)
else:
self.log(" no icon : bad content type '%s'" % content_type)