"""HTML Parser using Pythons' HTMLParser
This file is a part of Bookmarks database and Internet robot.
+
"""
-__version__ = "$Revision$"[11:-2]
-__revision__ = "$Id$"[5:-2]
-__date__ = "$Date$"[7:-2]
__author__ = "Oleg Broytman <phd@phdru.name>"
-__copyright__ = "Copyright (C) 1997-2011 PhiloSoft Design"
+__copyright__ = "Copyright (C) 1997-2014 PhiloSoft Design"
__license__ = "GNU GPL"
__all__ = ['parse_html']
http_equiv = value.lower()
elif attrname == 'content':
content = value
+ elif (attrname == 'charset') and (not self.charset):
+ self.charset = value.lower()
+ self.meta_charset = 1
if (not self.charset) and (http_equiv == "content-type"):
try:
self.icon = href
-def parse_html(filename, charset=None, log=None):
- infile = open(filename, 'r')
+def parse_html(html_text, charset=None, log=None):
parser = HTMLParser(charset)
- for line in infile:
- try:
- parser.feed(line)
- except (HTMLParseError, HTMLHeadDone):
- break
-
- infile.close()
+ try:
+ parser.feed(html_text)
+ except (HTMLParseError, HTMLHeadDone):
+ pass
try:
parser.close()
except (HTMLParseError, HTMLHeadDone):
pass
- if parser.title is None:
+ if (parser.title is None) and (parser.refresh is None) and (parser.icon is None):
return None
-
return parser