Ssync to trunk.

This commit is contained in:
John Schember 2009-08-04 17:20:42 -04:00
commit bd61339034
8 changed files with 24 additions and 6 deletions

View File

@ -289,6 +289,7 @@ def available_input_formats():
if not is_disabled(plugin):
for format in plugin.file_types:
formats.add(format)
formats.add('zip'), formats.add('rar')
return formats
def output_format_plugins():

View File

@ -20,7 +20,7 @@ class BEBOOK(USBMS):
supported_platforms = ['windows', 'osx', 'linux']
# Ordered list of supported formats
FORMATS = ['mobi', 'epub', 'pdf', 'txt']
FORMATS = ['mobi', 'epub', 'pdf', 'rtf', 'txt']
VENDOR_ID = [0x0525]
PRODUCT_ID = [0x8803, 0x6803]

View File

@ -239,6 +239,8 @@ class PRS500(DeviceConfig, DevicePlugin):
Also initialize the device.
See the source code for the sequence of initialization commands.
"""
if not hasattr(self, 'key'):
self.key = '-1\0\0\0\0\0\0'
self.device = get_device_by_id(self.VENDOR_ID, self.PRODUCT_ID)
if not self.device:
raise DeviceError()

View File

@ -727,11 +727,14 @@ class Device(DeviceConfig, DevicePlugin):
if r.startswith('.'): r = x[0]+r
else:
r = x[:-delta]
r = r.strip()
if not r:
r = x.strip()[0] if x.strip() else 'x'
if x is resizable[-1]:
filepath = filepath.replace(os.sep+x, os.sep+r)
else:
filepath = filepath.replace(os.sep+x+os.sep, os.sep+r+os.sep)
filepath = filepath.replace(os.sep+os.sep, os.sep)
filepath = filepath.replace(os.sep+os.sep, os.sep).strip()
newpath = os.path.dirname(filepath)
if not os.path.exists(newpath):

View File

@ -150,7 +150,8 @@ class EbookIterator(object):
self.language = self.opf.language
if self.language:
self.language = self.language.lower()
self.spine = [SpineItem(i.path) for i in self.opf.spine]
self.spine = [SpineItem(i.path) for i in self.opf.spine if i.is_linear]
self.spine += [SpineItem(i.path) for i in self.opf.spine if not i.is_linear]
cover = self.opf.cover
if self.ebook_ext in ('lit', 'mobi', 'prc', 'opf') and cover:

View File

@ -812,9 +812,9 @@ class DeviceGUI(object):
bad = '\n'.join('%s'%(i,) for i in bad)
d = warning_dialog(self, _('No suitable formats'),
_('Could not upload the following books to the device, '
'as no suitable formats were found. Try changing the output '
'format in the upper right corner next to the red heart and '
're-converting.'), bad)
'as no suitable formats were found. Convert the book(s) to a '
'format supported by your device first.'
), bad)
d.exec_()
def upload_booklists(self):

View File

@ -63,6 +63,14 @@ class Kindle(Device):
manufacturer = 'Amazon'
id = 'kindle'
class JetBook(Device):
output_profile = 'jetbook5'
output_format = 'EPUB'
name = 'JetBook'
manufacturer = 'Ectaco'
id = 'jetbook'
class KindleDX(Kindle):
output_profile = 'kindle_dx'

View File

@ -54,6 +54,9 @@ def shorten_components_to(length, components):
if r.startswith('.'): r = x[0]+r
else:
r = x[:-delta]
r = r.strip()
if not r:
r = x.strip()[0] if x.strip() else 'x'
ans.append(r)
return ans