diff --git a/src/libprs500/ebooks/lrf/html/convert_from.py b/src/libprs500/ebooks/lrf/html/convert_from.py index b14a87cb3e..4a4f94edc0 100644 --- a/src/libprs500/ebooks/lrf/html/convert_from.py +++ b/src/libprs500/ebooks/lrf/html/convert_from.py @@ -236,7 +236,16 @@ class HTMLConverter(object): self.base_files = copy.copy(paths) while len(paths) > 0 and self.link_level <= self.link_levels: for path in paths: - self.add_file(path) + try: + self.add_file(path) + except: + for link in self.links: + if link['path'] == path: + self.links.remove(link) + break + self.logger.warn('Could not process '+path) + if self.verbose: + self.logger.exception(' ') self.links = self.process_links() self.link_level += 1 paths = [link['path'] for link in self.links] @@ -549,11 +558,12 @@ class HTMLConverter(object): if path in self.processed_files: if path+fragment in self.targets.keys(): - tb = get_target_block(path+fragment, self.targets) + tb = get_target_block(path+fragment, self.targets) else: tb = self.tops[path] if self.link_level == 0 and self.use_spine: - add_toc_entry(ascii_text, tb) + add_toc_entry(ascii_text, tb) + jb = JumpButton(tb) self.book.append(jb) cb = CharButton(jb, text=text) @@ -1258,6 +1268,7 @@ class HTMLConverter(object): 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 elif not urlparse(tag['href'])[0]: self.logger.warn('Could not follow link to '+tag['href']) elif tag.has_key('name') or tag.has_key('id'):