mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 10:14:46 -04:00
EPUB Output: Fix play order in generated NCX being uniformly zero when the input HTML file has a name with special characters. Fixes #4397 (Play order)
This commit is contained in:
parent
0450dcf435
commit
925b3ea1fc
@ -1806,7 +1806,7 @@ class OEBBook(object):
|
|||||||
return {OPF_MIME: ('content.opf', package)}
|
return {OPF_MIME: ('content.opf', package)}
|
||||||
|
|
||||||
def _update_playorder(self, ncx):
|
def _update_playorder(self, ncx):
|
||||||
hrefs = set(xpath(ncx, '//ncx:content/@src'))
|
hrefs = set(map(urlnormalize, xpath(ncx, '//ncx:content/@src')))
|
||||||
playorder = {}
|
playorder = {}
|
||||||
next = 1
|
next = 1
|
||||||
selector = XPath('h:body//*[@id or @name]')
|
selector = XPath('h:body//*[@id or @name]')
|
||||||
@ -1828,9 +1828,9 @@ class OEBBook(object):
|
|||||||
if added:
|
if added:
|
||||||
next += 1
|
next += 1
|
||||||
selector = XPath('ncx:content/@src')
|
selector = XPath('ncx:content/@src')
|
||||||
for elem in xpath(ncx, '//*[@playOrder and ./ncx:content[@src]]'):
|
for i, elem in enumerate(xpath(ncx, '//*[@playOrder and ./ncx:content[@src]]')):
|
||||||
href = selector(elem)[0]
|
href = urlnormalize(selector(elem)[0])
|
||||||
order = playorder.get(href, 0)
|
order = playorder.get(href, i)
|
||||||
elem.attrib['playOrder'] = str(order)
|
elem.attrib['playOrder'] = str(order)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ At the moment |app| has full support for the SONY PRS 300/500/505/600/700/900, B
|
|||||||
How can I help get my device supported in |app|?
|
How can I help get my device supported in |app|?
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
If your device appears as a USB disk to the operating system. Adding support for it to |app| is very easy.
|
If your device appears as a USB disk to the operating system, adding support for it to |app| is very easy.
|
||||||
We just need some information from you:
|
We just need some information from you:
|
||||||
|
|
||||||
* What e-book formats does your device support?
|
* What e-book formats does your device support?
|
||||||
|
Loading…
x
Reference in New Issue
Block a user