mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix a few directory relativity bugs.
This commit is contained in:
parent
c4299cd17a
commit
56a64e1540
@ -186,10 +186,12 @@ class Serializer(object):
|
|||||||
if attr == 'href':
|
if attr == 'href':
|
||||||
if self.serialize_href(val, item):
|
if self.serialize_href(val, item):
|
||||||
continue
|
continue
|
||||||
elif attr == 'src' and val in hrefs:
|
elif attr == 'src':
|
||||||
index = self.images[val]
|
href = item.abshref(val)
|
||||||
buffer.write('recindex="%05d"' % index)
|
if href in hrefs:
|
||||||
continue
|
index = self.images[href]
|
||||||
|
buffer.write('recindex="%05d"' % index)
|
||||||
|
continue
|
||||||
buffer.write(attr)
|
buffer.write(attr)
|
||||||
buffer.write('="')
|
buffer.write('="')
|
||||||
self.serialize_text(val, quot=True)
|
self.serialize_text(val, quot=True)
|
||||||
|
@ -914,11 +914,11 @@ class OEBBook(object):
|
|||||||
cover = self.manifest.hrefs[href]
|
cover = self.manifest.hrefs[href]
|
||||||
elif xpath(html, '//h:img[position()=1]'):
|
elif xpath(html, '//h:img[position()=1]'):
|
||||||
img = xpath(html, '//h:img[position()=1]')[0]
|
img = xpath(html, '//h:img[position()=1]')[0]
|
||||||
href = img.get('src')
|
href = spine0.abshref(img.get('src'))
|
||||||
cover = self.manifest.hrefs[href]
|
cover = self.manifest.hrefs[href]
|
||||||
elif xpath(html, '//h:object[position()=1]'):
|
elif xpath(html, '//h:object[position()=1]'):
|
||||||
object = xpath(html, '//h:object[position()=1]')[0]
|
object = xpath(html, '//h:object[position()=1]')[0]
|
||||||
href = object.get('data')
|
href = spine0.abshref(object.get('data'))
|
||||||
cover = self.manifest.hrefs[href]
|
cover = self.manifest.hrefs[href]
|
||||||
elif xpath(html, '//svg:svg[position()=1]'):
|
elif xpath(html, '//svg:svg[position()=1]'):
|
||||||
svg = copy.deepcopy(xpath(html, '//svg:svg[position()=1]')[0])
|
svg = copy.deepcopy(xpath(html, '//svg:svg[position()=1]')[0])
|
||||||
|
@ -218,7 +218,9 @@ class CSSFlattener(object):
|
|||||||
for child in node:
|
for child in node:
|
||||||
self.flatten_node(child, stylizer, names, styles, psize, left)
|
self.flatten_node(child, stylizer, names, styles, psize, left)
|
||||||
|
|
||||||
def flatten_head(self, head, stylizer, href):
|
def flatten_head(self, item, stylizer, href):
|
||||||
|
html = item.data
|
||||||
|
head = html.find(XHTML('head'))
|
||||||
for node in head:
|
for node in head:
|
||||||
if node.tag == XHTML('link') \
|
if node.tag == XHTML('link') \
|
||||||
and node.get('rel', 'stylesheet') == 'stylesheet' \
|
and node.get('rel', 'stylesheet') == 'stylesheet' \
|
||||||
@ -227,6 +229,7 @@ class CSSFlattener(object):
|
|||||||
elif node.tag == XHTML('style') \
|
elif node.tag == XHTML('style') \
|
||||||
and node.get('type', CSS_MIME) in OEB_STYLES:
|
and node.get('type', CSS_MIME) in OEB_STYLES:
|
||||||
head.remove(node)
|
head.remove(node)
|
||||||
|
href = item.relhref(href)
|
||||||
etree.SubElement(head, XHTML('link'),
|
etree.SubElement(head, XHTML('link'),
|
||||||
rel='stylesheet', type=CSS_MIME, href=href)
|
rel='stylesheet', type=CSS_MIME, href=href)
|
||||||
if stylizer.page_rule:
|
if stylizer.page_rule:
|
||||||
@ -259,7 +262,5 @@ class CSSFlattener(object):
|
|||||||
css = ''.join(".%s {\n%s;\n}\n\n" % (key, val) for key, val in items)
|
css = ''.join(".%s {\n%s;\n}\n\n" % (key, val) for key, val in items)
|
||||||
href = self.replace_css(css)
|
href = self.replace_css(css)
|
||||||
for item in self.oeb.spine:
|
for item in self.oeb.spine:
|
||||||
html = item.data
|
|
||||||
stylizer = self.stylizers[item]
|
stylizer = self.stylizers[item]
|
||||||
head = html.find(XHTML('head'))
|
self.flatten_head(item, stylizer, href)
|
||||||
self.flatten_head(head, stylizer, href)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user