diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index bd766827a5..681d953c9b 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -454,7 +454,7 @@ from calibre.customize.profiles import input_profiles, output_profiles from calibre.devices.apple.driver import ITUNES from calibre.devices.hanlin.driver import HANLINV3, HANLINV5, BOOX, SPECTRA from calibre.devices.blackberry.driver import BLACKBERRY -from calibre.devices.cybook.driver import CYBOOK +from calibre.devices.cybook.driver import CYBOOK, ORIZON from calibre.devices.eb600.driver import EB600, COOL_ER, SHINEBOOK, \ POCKETBOOK360, GER2, ITALICA, ECLICTO, DBOOK, INVESBOOK, \ BOOQ, ELONEX, POCKETBOOK301, MENTOR @@ -535,6 +535,7 @@ plugins += [ HANLINV5, BLACKBERRY, CYBOOK, + ORIZON, ILIAD, IREXDR1000, IREXDR800, diff --git a/src/calibre/devices/cybook/driver.py b/src/calibre/devices/cybook/driver.py index 7c436a7d0e..becb7912a9 100644 --- a/src/calibre/devices/cybook/driver.py +++ b/src/calibre/devices/cybook/driver.py @@ -5,7 +5,7 @@ __copyright__ = '2009, John Schember ' __docformat__ = 'restructuredtext en' ''' -Device driver for Bookeen's Cybook Gen 3 and Opus +Device driver for Bookeen's Cybook Gen 3 and Opus and Orizon ''' import os @@ -56,3 +56,23 @@ class CYBOOK(USBMS): if isunix: return device_info[3] == 'Bookeen' and (device_info[4] == 'Cybook Gen3' or device_info[4] == 'Cybook Opus') return True + +class ORIZON(CYBOOK): + + name = 'Orizon Device Interface' + gui_name = 'Orizon' + description = _('Communicate with the Cybook Orizon eBook reader.') + + BCD = [0x319] + + WINDOWS_MAIN_MEM = re.compile(r'CYBOOK_ORIZON__-FD') + WINDOWS_CARD_A_MEM = re.compile('CYBOOK_ORIZON__-SD') + + EBOOK_DIR_MAIN = EBOOK_DIR_CARD_A = 'Digital Editions' + + @classmethod + def can_handle(cls, device_info, debug=False): + if isunix: + return device_info[3] == 'Bookeen' and device_info[4] == 'Cybook Orizon' + return True + diff --git a/src/calibre/gui2/wizard/__init__.py b/src/calibre/gui2/wizard/__init__.py index 54d034a705..2ac0908ea9 100644 --- a/src/calibre/gui2/wizard/__init__.py +++ b/src/calibre/gui2/wizard/__init__.py @@ -153,6 +153,11 @@ class CybookOpus(CybookG3): output_profile = 'cybook_opus' id = 'cybook_opus' +class CybookOrizon(CybookOpus): + + name = 'Cybook Orizon' + id = 'cybook_orizon' + class PocketBook360(CybookOpus): manufacturer = 'PocketBook'