mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix regression that was causing the text of some links to be omitted when converting to LRF
This commit is contained in:
parent
c54d51ccbf
commit
809ba2f328
@ -1423,32 +1423,34 @@ class HTMLConverter(object, LoggingInterface):
|
||||
if tagname in ["title", "script", "meta", 'del', 'frameset']:
|
||||
pass
|
||||
elif tagname == 'a' and self.link_levels >= 0:
|
||||
if tag.has_key('href') and not self.link_exclude.match(tag['href'])\
|
||||
and urlparse(tag['href'])[0] in ('', 'file'):
|
||||
path = munge_paths(self.target_prefix, tag['href'])[0]
|
||||
ext = os.path.splitext(path)[1]
|
||||
if ext: ext = ext[1:].lower()
|
||||
enc = sys.getfilesystemencoding()
|
||||
if not enc:
|
||||
enc = 'utf8'
|
||||
if isinstance(path, unicode):
|
||||
path = path.encode(enc, 'replace')
|
||||
if os.access(path, os.R_OK) and os.path.isfile(path):
|
||||
if ext in ['png', 'jpg', 'bmp', 'jpeg']:
|
||||
self.process_image(path, tag_css)
|
||||
else:
|
||||
text = self.get_text(tag, limit=1000)
|
||||
if not text.strip():
|
||||
text = "Link"
|
||||
self.add_text(text, tag_css, {}, force_span_use=True)
|
||||
self.links.append(self.create_link(self.current_para.contents, tag))
|
||||
if tag.has_key('id') or tag.has_key('name'):
|
||||
key = 'name' if tag.has_key('name') else 'id'
|
||||
self.targets[self.target_prefix+tag[key]] = self.current_block
|
||||
self.current_block.must_append = True
|
||||
else:
|
||||
self.log_debug('Could not follow link to '+tag['href'])
|
||||
if tag.has_key('href') and not self.link_exclude.match(tag['href']):
|
||||
if urlparse(tag['href'])[0] not in ('', 'file'):
|
||||
self.process_children(tag, tag_css, tag_pseudo_css)
|
||||
else:
|
||||
path = munge_paths(self.target_prefix, tag['href'])[0]
|
||||
ext = os.path.splitext(path)[1]
|
||||
if ext: ext = ext[1:].lower()
|
||||
enc = sys.getfilesystemencoding()
|
||||
if not enc:
|
||||
enc = 'utf8'
|
||||
if isinstance(path, unicode):
|
||||
path = path.encode(enc, 'replace')
|
||||
if os.access(path, os.R_OK) and os.path.isfile(path):
|
||||
if ext in ['png', 'jpg', 'bmp', 'jpeg']:
|
||||
self.process_image(path, tag_css)
|
||||
else:
|
||||
text = self.get_text(tag, limit=1000)
|
||||
if not text.strip():
|
||||
text = "Link"
|
||||
self.add_text(text, tag_css, {}, force_span_use=True)
|
||||
self.links.append(self.create_link(self.current_para.contents, tag))
|
||||
if tag.has_key('id') or tag.has_key('name'):
|
||||
key = 'name' if tag.has_key('name') else 'id'
|
||||
self.targets[self.target_prefix+tag[key]] = self.current_block
|
||||
self.current_block.must_append = True
|
||||
else:
|
||||
self.log_debug('Could not follow link to '+tag['href'])
|
||||
self.process_children(tag, tag_css, tag_pseudo_css)
|
||||
elif tag.has_key('name') or tag.has_key('id'):
|
||||
self.process_anchor(tag, tag_css, tag_pseudo_css)
|
||||
elif tagname == 'img':
|
||||
|
Loading…
x
Reference in New Issue
Block a user