From 1c8d3ea7523817a7c4ebc1e76370b52ddbed4842 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 13 Nov 2010 11:12:17 -0700 Subject: [PATCH] Fix #7443 (New Reader: Cybook Orizon) --- src/calibre/customize/builtins.py | 3 ++- src/calibre/devices/cybook/driver.py | 22 +++++++++++++++++++++- src/calibre/gui2/wizard/__init__.py | 5 +++++ 3 files changed, 28 insertions(+), 2 deletions(-) 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'