Location support for PDF when fetching annotations from a Kindle

This commit is contained in:
Kovid Goyal 2010-03-12 08:25:45 -07:00
commit c255a8e991
2 changed files with 17 additions and 12 deletions

View File

@ -448,12 +448,11 @@ class Bookmark():
except: except:
pass pass
elif self.bookmark_extension == 'pdr': elif self.bookmark_extension == 'pdr':
# Book length not yet implemented for PDF files from calibre import plugins
# After 0.6.45: try:
# from calibre import plugins self.book_length = plugins['pdfreflow'][0].get_numpages(open(book_fs).read())
# self.book_length = plugins['pdfreflow'][0].get_numpages(open(book_fs).read()) except:
pass
self.book_length = 0
else: else:
print "unsupported bookmark_extension: %s" % self.bookmark_extension print "unsupported bookmark_extension: %s" % self.bookmark_extension

View File

@ -1013,11 +1013,14 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
spanTag = Tag(ka_soup, 'span') spanTag = Tag(ka_soup, 'span')
spanTag['style'] = 'font-weight:bold' spanTag['style'] = 'font-weight:bold'
if bookmark.book_format == 'pdf': if bookmark.book_format == 'pdf':
spanTag.insert(0,NavigableString("%s<br />Last Page Read: %d" % \ spanTag.insert(0,NavigableString(
_("%s<br />Last Page Read: %d (%d%%)") % \
(strftime(u'%x', timestamp.timetuple()), (strftime(u'%x', timestamp.timetuple()),
last_read_location))) last_read_location,
percent_read)))
else: else:
spanTag.insert(0,NavigableString("%s<br />Last Page Read: Location %d (%d%%)" % \ spanTag.insert(0,NavigableString(
_("%s<br />Last Page Read: Location %d (%d%%)") % \
(strftime(u'%x', timestamp.timetuple()), (strftime(u'%x', timestamp.timetuple()),
last_read_location, last_read_location,
percent_read))) percent_read)))
@ -1035,7 +1038,8 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
# Italicize highlighted text # Italicize highlighted text
for location in sorted(user_notes): for location in sorted(user_notes):
if user_notes[location]['text']: if user_notes[location]['text']:
annotations.append('<b>Location %d &bull; %s</b><br />%s<br />' % \ annotations.append(
_('<b>Location %d &bull; %s</b><br />%s<br />') % \
(user_notes[location]['displayed_location'], (user_notes[location]['displayed_location'],
user_notes[location]['type'], user_notes[location]['type'],
user_notes[location]['text'] if \ user_notes[location]['text'] if \
@ -1043,11 +1047,13 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
'<i>%s</i>' % user_notes[location]['text'])) '<i>%s</i>' % user_notes[location]['text']))
else: else:
if bookmark.book_format == 'pdf': if bookmark.book_format == 'pdf':
annotations.append('<b>Page %d &bull; %s</b><br />' % \ annotations.append(
_('<b>Page %d &bull; %s</b><br />') % \
(user_notes[location]['displayed_location'], (user_notes[location]['displayed_location'],
user_notes[location]['type'])) user_notes[location]['type']))
else: else:
annotations.append('<b>Location %d &bull; %s</b><br />' % \ annotations.append(
_('<b>Location %d &bull; %s</b><br />') % \
(user_notes[location]['displayed_location'], (user_notes[location]['displayed_location'],
user_notes[location]['type'])) user_notes[location]['type']))