From d3053b8a8612d24aec9c81dafd5567defdb37a50 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 28 Sep 2010 18:45:41 -0600 Subject: [PATCH] Support for the JetBook Mini --- src/calibre/customize/builtins.py | 3 ++- src/calibre/devices/__init__.py | 12 +++++++++--- src/calibre/devices/jetbook/driver.py | 23 +++++++++++++++++++++++ src/calibre/gui2/wizard/__init__.py | 8 ++++++++ 4 files changed, 42 insertions(+), 4 deletions(-) diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index ef3da9ce20..50d8e29373 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -446,7 +446,7 @@ from calibre.devices.eb600.driver import EB600, COOL_ER, SHINEBOOK, \ BOOQ, ELONEX, POCKETBOOK301, MENTOR from calibre.devices.iliad.driver import ILIAD from calibre.devices.irexdr.driver import IREXDR1000, IREXDR800 -from calibre.devices.jetbook.driver import JETBOOK, MIBUK +from calibre.devices.jetbook.driver import JETBOOK, MIBUK, JETBOOK_MINI from calibre.devices.kindle.driver import KINDLE, KINDLE2, KINDLE_DX from calibre.devices.nook.driver import NOOK from calibre.devices.prs505.driver import PRS505 @@ -520,6 +520,7 @@ plugins += [ IREXDR1000, IREXDR800, JETBOOK, + JETBOOK_MINI, MIBUK, SHINEBOOK, POCKETBOOK360, diff --git a/src/calibre/devices/__init__.py b/src/calibre/devices/__init__.py index 956d18e903..24e606e022 100644 --- a/src/calibre/devices/__init__.py +++ b/src/calibre/devices/__init__.py @@ -95,13 +95,19 @@ def debug(ioreg_to_tmp=False, buf=None): ioreg += 'Output from osx_get_usb_drives:\n'+drives+'\n\n' ioreg += Device.run_ioreg() connected_devices = [] - for dev in sorted(device_plugins(), cmp=lambda - x,y:cmp(x.__class__.__name__, y.__class__.__name__)): - out('Looking for', dev.__class__.__name__) + devplugins = list(sorted(device_plugins(), cmp=lambda + x,y:cmp(x.__class__.__name__, y.__class__.__name__))) + out('Available plugins:', ' '.join([x.__class__.__name__ for x in + devplugins])) + out(' ') + out('Looking for devices...') + for dev in devplugins: connected, det = s.is_device_connected(dev, debug=True) if connected: + out('\t\tDetected possible device', dev.__class__.__name__) connected_devices.append((dev, det)) + out(' ') errors = {} success = False out('Devices possibly connected:', end=' ') diff --git a/src/calibre/devices/jetbook/driver.py b/src/calibre/devices/jetbook/driver.py index 6ee1c07464..5fd3929aaf 100644 --- a/src/calibre/devices/jetbook/driver.py +++ b/src/calibre/devices/jetbook/driver.py @@ -99,4 +99,27 @@ class MIBUK(USBMS): VENDOR_NAME = 'LINUX' WINDOWS_MAIN_MEM = 'WOLDERMIBUK' +class JETBOOK_MINI(USBMS): + + ''' + ['0x4b8', + '0x507', + '0x100', + 'ECTACO', + 'ECTACO ATA/ATAPI Bridge (Bulk-Only)', + 'Rev.0.20'] + ''' + FORMATS = ['fb2', 'txt'] + + name = 'JetBook Mini' + description = _('Communicate with the JetBook Mini reader.') + author = 'Kovid Goyal' + + VENDOR_ID = [0x4b8] + PRODUCT_ID = [0x507] + BCD = [0x100] + VENDOR_NAME = 'ECTACO' + WINDOWS_MAIN_MEM = '' # Matches PROD_ + SUPPORTS_SUB_DIRS = True + diff --git a/src/calibre/gui2/wizard/__init__.py b/src/calibre/gui2/wizard/__init__.py index ef58ec3a90..37b7c7bd7c 100644 --- a/src/calibre/gui2/wizard/__init__.py +++ b/src/calibre/gui2/wizard/__init__.py @@ -73,6 +73,14 @@ class JetBook(Device): manufacturer = 'Ectaco' id = 'jetbook' +class JetBookMini(Device): + + output_profile = 'jetbook5' + output_format = 'FB2' + name = 'JetBook Mini' + manufacturer = 'Ectaco' + id = 'jetbookmini' + class KindleDX(Kindle): output_profile = 'kindle_dx'