diff --git a/src/libprs500/ebooks/lrf/html/convert_from.py b/src/libprs500/ebooks/lrf/html/convert_from.py
index a89bbe04c1..84ae3446c0 100644
--- a/src/libprs500/ebooks/lrf/html/convert_from.py
+++ b/src/libprs500/ebooks/lrf/html/convert_from.py
@@ -249,11 +249,16 @@ class HTMLConverter(object):
update_css(npcss, self.override_pcss)
paths = [os.path.normpath(os.path.abspath(path)) for path in paths]
- self.base_files = copy.copy(paths)
+
+
while len(paths) > 0 and self.link_level <= self.link_levels:
for path in paths:
+ if path in self.processed_files:
+ continue
try:
self.add_file(path)
+ except KeyboardInterrupt:
+ raise
except:
if self.link_level == 0: # Die on errors in the first level
raise
@@ -487,11 +492,11 @@ class HTMLConverter(object):
def create_link(self, children, tag):
para = None
for i in range(len(children)-1, -1, -1):
- if isinstance(children[i], Span):
+ if isinstance(children[i], (Span, EmpLine)):
para = children[i]
break
if para is None:
- raise ConversionError('Failed to parse link %s'%(tag,))
+ raise ConversionError('Failed to parse link %s %s'%(tag, children))
text = self.get_text(tag, 1000)
if not text:
text = 'Link'