mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Filter out <meta> tags when rendering book
This commit is contained in:
parent
585c9ced46
commit
a951180190
@ -188,8 +188,11 @@ boolean_attributes = frozenset('allowfullscreen,async,autofocus,autoplay,checked
|
|||||||
|
|
||||||
def serialize_elem(elem, nsmap):
|
def serialize_elem(elem, nsmap):
|
||||||
ns, name = split_name(elem.tag)
|
ns, name = split_name(elem.tag)
|
||||||
|
nl = name.lower()
|
||||||
|
if nl == 'meta':
|
||||||
|
return # Filter out <meta> tags as they have unknown side-effects
|
||||||
if name.lower() in {'img', 'script', 'link', 'image', 'style'}:
|
if name.lower() in {'img', 'script', 'link', 'image', 'style'}:
|
||||||
name = name.lower()
|
name = nl
|
||||||
ans = {'n':name}
|
ans = {'n':name}
|
||||||
if elem.text:
|
if elem.text:
|
||||||
ans['x'] = elem.text
|
ans['x'] = elem.text
|
||||||
@ -260,10 +263,11 @@ def html_as_dict(root):
|
|||||||
elem, node = stack.pop()
|
elem, node = stack.pop()
|
||||||
for i, child in enumerate(elem.iterchildren('*')):
|
for i, child in enumerate(elem.iterchildren('*')):
|
||||||
cnode = serialize_elem(child, nsmap)
|
cnode = serialize_elem(child, nsmap)
|
||||||
tags.append(cnode)
|
if cnode is not None:
|
||||||
child_tree_node = [len(tags)-1]
|
tags.append(cnode)
|
||||||
node.append(child_tree_node)
|
child_tree_node = [len(tags)-1]
|
||||||
stack.append((child, child_tree_node))
|
node.append(child_tree_node)
|
||||||
|
stack.append((child, child_tree_node))
|
||||||
ns_map = [ns for ns, nsnum in sorted(nsmap.iteritems(), key=lambda x: x[1])]
|
ns_map = [ns for ns, nsnum in sorted(nsmap.iteritems(), key=lambda x: x[1])]
|
||||||
return {'ns_map':ns_map, 'tag_map':tags, 'tree':tree}
|
return {'ns_map':ns_map, 'tag_map':tags, 'tree':tree}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user