def replace_internal_links_with_placeholders(self): self.link_map = {} count = 0 hrefs = {item.href for item in self.oeb.spine} for item in self.oeb.spine: root = self.data(item) for a in XPath('//h:a[@href]')(root): count += 1 ref = item.abshref(a.get('href')) href, _, frag = ref.partition('#') href = urlnormalize(href) if href in hrefs: placeholder = 'kindle:pos:fid:0000:off:%s'%to_href(count) self.link_map[placeholder] = (href, frag) a.set('href', placeholder)
def replace_internal_links_with_placeholders(self): self.link_map = {} count = 0 hrefs = {item.href for item in self.oeb.spine} for item in self.oeb.spine: root = self.data(item) for a in XPath('//h:a[@href]')(root): count += 1 ref = item.abshref(a.get('href')) href, _, frag = ref.partition('#') try: href = urlnormalize(href) except ValueError: # a non utf-8 quoted url? Since we cannot interpret it, pass it through. pass if href in hrefs: placeholder = 'kindle:pos:fid:0000:off:%s' % to_href(count) self.link_map[placeholder] = (href, frag) a.set('href', placeholder)
def replace_internal_links_with_placeholders(self): self.link_map = {} count = 0 hrefs = {item.href for item in self.oeb.spine} for item in self.oeb.spine: root = self.data(item) for a in XPath('//h:a[@href]')(root): count += 1 ref = item.abshref(a.get('href')) href, _, frag = ref.partition('#') try: href = urlnormalize(href) except ValueError: # a non utf-8 quoted url? Since we cannot interpret it, pass it through. pass if href in hrefs: placeholder = 'kindle:pos:fid:0000:off:%s'%to_href(count) self.link_map[placeholder] = (href, frag) a.set('href', placeholder)