From b0ad8e00e426dbafffb94d88dbb108edc90d39f1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 12 Dec 2009 20:45:54 -0700 Subject: [PATCH] Support for the Ganaxa Ger 2 reader --- src/calibre/customize/builtins.py | 5 +++-- src/calibre/devices/cybookg3/driver.py | 16 ++++++++++++++++ src/calibre/devices/eb600/driver.py | 17 ++++++++++++++++- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index ef2ebf586d..f260b6cb30 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -404,7 +404,7 @@ from calibre.devices.bebook.driver import BEBOOK, BEBOOK_MINI from calibre.devices.blackberry.driver import BLACKBERRY from calibre.devices.cybookg3.driver import CYBOOKG3, CYBOOK_OPUS from calibre.devices.eb600.driver import EB600, COOL_ER, SHINEBOOK, \ - POCKETBOOK360 + POCKETBOOK360, GER2 from calibre.devices.iliad.driver import ILIAD from calibre.devices.irexdr.driver import IREXDR1000 from calibre.devices.jetbook.driver import JETBOOK @@ -475,7 +475,8 @@ plugins += [ ESLICK, NUUT2, IRIVER_STORY, - POCKETBOOK360 + POCKETBOOK360, + GER2, ] plugins += [x for x in list(locals().values()) if isinstance(x, type) and \ x.__name__.endswith('MetadataReader')] diff --git a/src/calibre/devices/cybookg3/driver.py b/src/calibre/devices/cybookg3/driver.py index dd3ac24db6..f674fddf36 100644 --- a/src/calibre/devices/cybookg3/driver.py +++ b/src/calibre/devices/cybookg3/driver.py @@ -77,6 +77,14 @@ class CYBOOKG3(USBMS): return zip(paths, cycle([on_card])) + @classmethod + def can_handle(cls, device_info, debug=False): + USBMS.can_handle(device_info, debug) + if islinux: + if device_info[3] == 'Bookeen' and device_info[4] == 'Cybook Gen3': + return True + return False + class CYBOOK_OPUS(CYBOOKG3): @@ -102,3 +110,11 @@ class CYBOOK_OPUS(CYBOOKG3): EBOOK_DIR_MAIN = 'eBooks' EBOOK_DIR_CARD_A = 'eBooks' SUPPORTS_SUB_DIRS = True + + @classmethod + def can_handle(cls, device_info, debug=False): + USBMS.can_handle(device_info, debug) + if islinux: + if device_info[3] == 'Bookeen': + return True + return False diff --git a/src/calibre/devices/eb600/driver.py b/src/calibre/devices/eb600/driver.py index 1e36775bb2..e0c031f30c 100644 --- a/src/calibre/devices/eb600/driver.py +++ b/src/calibre/devices/eb600/driver.py @@ -21,7 +21,7 @@ class EB600(USBMS): name = 'Netronix EB600 Device Interface' description = _('Communicate with the EB600 eBook reader.') - author = _('Kovid Goyal') + author = 'Kovid Goyal' supported_platforms = ['windows', 'osx', 'linux'] # Ordered list of supported formats @@ -97,3 +97,18 @@ class POCKETBOOK360(EB600): OSX_MAIN_MEM = 'Philips Mass Storge Media' OSX_CARD_A_MEM = 'Philips Mass Storge Media' +class GER2(EB600): + + name = 'Ganaxa GeR2 Device Interface' + gui_name = 'Ganaxa GeR2' + supported_platforms = ['windows'] + + FORMATS = ['pdf'] + + VENDOR_ID = [0xbda] + PRODUCT_ID = [0x703] + BCD = [0x132] + + VENDOR_NAME = 'GANAXA' + WINDOWS_MAIN_MEN = 'GER2_________-FD' + WINDOWS_CARD_A_MEM = 'GER2_________-SD'