]> git.phdru.name Git - bookmarks_db.git/blobdiff - parse_html/bkmk_ph_etreetidy.py
Feat: Remove some HTML parsers
[bookmarks_db.git] / parse_html / bkmk_ph_etreetidy.py
diff --git a/parse_html/bkmk_ph_etreetidy.py b/parse_html/bkmk_ph_etreetidy.py
deleted file mode 100644 (file)
index eadcca3..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-"""HTML Parser using ElementTree+TidyLib.
-
-This file is a part of Bookmarks database and Internet robot.
-
-"""
-
-__author__ = "Oleg Broytman <phd@phdru.name>"
-__copyright__ = "Copyright (C) 2010-2023 PhiloSoft Design"
-__license__ = "GNU GPL"
-
-__all__ = ['parse_html']
-
-
-from elementtidy import TidyHTMLTreeBuilder
-from .bkmk_ph_util import HTMLParser
-
-
-def parse_html(html_text, charset=None, log=None):
-    if not html_text:
-        return None
-    try:
-        html_tree = TidyHTMLTreeBuilder.parseString(html_text)
-    except:
-        return None
-
-    XHTML = "{http://www.w3.org/1999/xhtml}"
-
-    for elem in html_tree.getiterator():
-        if elem.tag.startswith(XHTML):
-            elem.tag = elem.tag[len(XHTML):]
-
-    title = html_tree.findtext('head/title')
-    if title is None:
-        title = html_tree.findtext('title')
-
-    meta = html_tree.findall('head/meta')
-    for m in meta:
-        if m.get('http-equiv', '').lower() == 'content-type':
-            meta_content = m.get("content")
-            if meta_content:
-                try:
-                    meta_charset = \
-                        meta_content.lower().split('charset=')[1].split(';')[0]
-                    break
-                except IndexError:
-                    meta_charset = False
-        elif m.get('charset', ''):
-            meta_charset = m.get('charset').lower()
-            break
-    else:
-        meta_charset = False
-
-    #if title and (charset or meta_charset):
-    #    title = title.encode(charset or meta_charset)
-
-    for m in meta:
-        if m.get('http-equiv', '').lower() == 'refresh':
-            refresh = m.get("content")
-            break
-    else:
-        refresh = None
-
-    for link in html_tree.findall('head/link'):
-        if link.get('rel', '').lower() in ('icon', 'shortcut icon'):
-            icon = link.get("href")
-            break
-    else:
-        icon = None
-
-    if (title is None) and (refresh is None) and (icon is None):
-        return None
-    return HTMLParser(charset, meta_charset, title, refresh, icon)