|
|
#1 |
|
Enthusiast
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 41
Karma: 5514
Join Date: Oct 2009
Location: Groningen, Netherlands
Device: PRS-T1
|
Hi,
I was getting this error when converting an epub to lrf: Code:
calibre.ebooks.lrf.pylrs.pylrf.LrfError: page id invalid in toc: Photo Credits I changed the code so that when it finds an invalid pageId/objId when generating the toc, it will just use the previous one instead. Granted, it's not very pretty but a book with a sightly inaccurate toc is better than no book I tested it and my PRS-505 can paginate the resulting lrf with no problems.Here's the diff and the full trace of the error. I'm running calibre on Ubuntu 9.10 (calibre version 0.6.13+dfsg-0ubuntu3.1) Enjoy! Diff: Code:
*** /usr/lib/calibre/calibre/ebooks/lrf/pylrs/pylrf.py 2009-09-18 20:58:46.000000000 +0200
--- pylrf.py 2010-04-07 11:11:59.000000000 +0200
***************
*** 592,604 ****
lastOffset += entryLen
writeDWord(stream, lastOffset)
for entry in toc:
pageId, objId, label = entry
if pageId <= 0:
! raise LrfError, "page id invalid in toc: " + label
! if objId <= 0:
! raise LrfError, "textblock id invalid in toc: " + label
!
writeDWord(stream, pageId)
writeDWord(stream, objId)
writeUnicode(stream, label, se)
--- 592,607 ----
lastOffset += entryLen
writeDWord(stream, lastOffset)
+ lastEntry=None
for entry in toc:
pageId, objId, label = entry
if pageId <= 0:
! print "page id invalid in toc: " + label
! pageId=lastEntry[0] if lastEntry else 1
! elif objId <= 0:
! print "textblock id invalid in toc: " + label
! objId=lastEntry[1] if lastEntry else 1
! lastEntry=entry
writeDWord(stream, pageId)
writeDWord(stream, objId)
writeUnicode(stream, label, se)
Trace of the error this solves: Code:
Traceback (most recent call last): File "/tmp/init.py", line 48, in <module> File "/home/kovid/build/calibre/src/calibre/ebooks/conversion/cli.py", line 254, in main File "/home/kovid/build/calibre/src/calibre/ebooks/conversion/plumber.py", line 898, in run File "/home/kovid/build/calibre/src/calibre/ebooks/lrf/output.py", line 191, in convert File "/home/kovid/build/calibre/src/calibre/ebooks/lrf/html/convert_from.py", line 1939, in process_file File "/home/kovid/build/calibre/src/calibre/ebooks/lrf/html/convert_from.py", line 1818, in writeto File "/home/kovid/build/calibre/src/calibre/ebooks/lrf/pylrs/pylrs.py", line 623, in renderLrf File "/home/kovid/build/calibre/src/calibre/ebooks/lrf/pylrs/pylrs.py", line 229, in toLrf File "/home/kovid/build/calibre/src/calibre/ebooks/lrf/pylrs/pylrs.py", line 225, in toLrfDelegates File "/home/kovid/build/calibre/src/calibre/ebooks/lrf/pylrs/pylrs.py", line 229, in toLrf File "/home/kovid/build/calibre/src/calibre/ebooks/lrf/pylrs/pylrs.py", line 225, in toLrfDelegates File "/home/kovid/build/calibre/src/calibre/ebooks/lrf/pylrs/pylrs.py", line 776, in toLrf File "/home/kovid/build/calibre/src/calibre/ebooks/lrf/pylrs/pylrf.py", line 572, in __init__ File "/home/kovid/build/calibre/src/calibre/ebooks/lrf/pylrs/pylrf.py", line 598, in _makeTocStream calibre.ebooks.lrf.pylrs.pylrf.LrfError: page id invalid in toc: Photo Credits |
|
|
|
![]() |
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| PRS-505 Invalid Page | PieOPah | Sony Reader | 7 | 12-30-2011 12:48 PM |
| Redundant/Invalid TOC entries | Stinger | Kobo Reader | 4 | 06-26-2010 10:02 PM |
| PRS-900 Help! Invalid Page Error | cbnash | Sony Reader | 5 | 01-26-2010 10:50 AM |
| Single page "Invalid Page!" error Sony-505 | 2percentright | Calibre | 5 | 07-29-2009 12:22 PM |
| Problem with big PDF's on my SD card. invalid page. please help | master4g | Sony Reader | 2 | 12-08-2007 03:57 PM |