diff --git a/src/calibre/ebooks/metadata/toc.py b/src/calibre/ebooks/metadata/toc.py index 0f22603a8b..25eb154b74 100644 --- a/src/calibre/ebooks/metadata/toc.py +++ b/src/calibre/ebooks/metadata/toc.py @@ -194,12 +194,11 @@ class TOC(list): content = content_path(np) if content and text: content = content[0] - src = get_attr(content, attr='src') - if src: - purl = urlparse(content.get('src')) - href, fragment = unquote(purl[2]), unquote(purl[5]) - nd = dest.add_item(href, fragment, text) - nd.play_order = play_order + # if get_attr(content, attr='src'): + purl = urlparse(content.get('src')) + href, fragment = unquote(purl[2]), unquote(purl[5]) + nd = dest.add_item(href, fragment, text) + nd.play_order = play_order for c in np_path(np): process_navpoint(c, nd) diff --git a/src/calibre/gui2/viewer/toc.py b/src/calibre/gui2/viewer/toc.py index b0e97bea65..094191308e 100644 --- a/src/calibre/gui2/viewer/toc.py +++ b/src/calibre/gui2/viewer/toc.py @@ -56,7 +56,7 @@ class TOCItem(QStandardItem): self.title = text self.parent = parent QStandardItem.__init__(self, text if text else '') - self.abspath = toc.abspath + self.abspath = toc.abspath if toc.href else None self.fragment = toc.fragment all_items.append(self) self.bold_font = QFont(self.font()) @@ -70,11 +70,13 @@ class TOCItem(QStandardItem): if si == self.abspath: spos = i break - try: - am = getattr(spine[i], 'anchor_map', {}) - except UnboundLocalError: - # Spine was empty? - am = {} + am = {} + if self.abspath is not None: + try: + am = getattr(spine[i], 'anchor_map', {}) + except UnboundLocalError: + # Spine was empty? + pass frag = self.fragment if (self.fragment and self.fragment in am) else None self.starts_at = spos self.start_anchor = frag