mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
KF8 Input: Ingore invalid flow references in the KF8 document instead of erroring out on them. See #1085306
This commit is contained in:
parent
a7f66a4338
commit
bf46edf785
@ -203,7 +203,7 @@ def update_flow_links(mobi8_reader, resource_map, log):
|
|||||||
# All flows are now unicode and have links resolved
|
# All flows are now unicode and have links resolved
|
||||||
return flows
|
return flows
|
||||||
|
|
||||||
def insert_flows_into_markup(parts, flows, mobi8_reader):
|
def insert_flows_into_markup(parts, flows, mobi8_reader, log):
|
||||||
mr = mobi8_reader
|
mr = mobi8_reader
|
||||||
|
|
||||||
# kindle:flow:XXXX?mime=YYYY/ZZZ (used for style sheets, svg images, etc)
|
# kindle:flow:XXXX?mime=YYYY/ZZZ (used for style sheets, svg images, etc)
|
||||||
@ -219,7 +219,12 @@ def insert_flows_into_markup(parts, flows, mobi8_reader):
|
|||||||
if tag.startswith('<'):
|
if tag.startswith('<'):
|
||||||
for m in flow_pattern.finditer(tag):
|
for m in flow_pattern.finditer(tag):
|
||||||
num = int(m.group(1), 32)
|
num = int(m.group(1), 32)
|
||||||
|
try:
|
||||||
fi = mr.flowinfo[num]
|
fi = mr.flowinfo[num]
|
||||||
|
except IndexError:
|
||||||
|
log.warn('Ignoring invalid flow reference: %s'%m.group())
|
||||||
|
tag = ''
|
||||||
|
else:
|
||||||
if fi.format == 'inline':
|
if fi.format == 'inline':
|
||||||
tag = flows[num]
|
tag = flows[num]
|
||||||
else:
|
else:
|
||||||
@ -313,7 +318,7 @@ def expand_mobi8_markup(mobi8_reader, resource_map, log):
|
|||||||
flows = update_flow_links(mobi8_reader, resource_map, log)
|
flows = update_flow_links(mobi8_reader, resource_map, log)
|
||||||
|
|
||||||
# Insert inline flows into the markup
|
# Insert inline flows into the markup
|
||||||
insert_flows_into_markup(parts, flows, mobi8_reader)
|
insert_flows_into_markup(parts, flows, mobi8_reader, log)
|
||||||
|
|
||||||
# Insert raster images into markup
|
# Insert raster images into markup
|
||||||
insert_images_into_markup(parts, resource_map, log)
|
insert_images_into_markup(parts, resource_map, log)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user