From 358ec20ceb76e8fb77882d7e89d6330f30dad9db Mon Sep 17 00:00:00 2001 From: John Schember Date: Mon, 9 Feb 2009 17:34:51 -0500 Subject: [PATCH] Fix bug: 1755, add new Vendor and Product Ids for Cybook. --- src/calibre/devices/cybookg3/driver.py | 4 +-- src/calibre/devices/kindle/driver.py | 4 +-- src/calibre/devices/usbms/device.py | 39 ++++++++++++++------------ 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/src/calibre/devices/cybookg3/driver.py b/src/calibre/devices/cybookg3/driver.py index f573fb1b75..f092473675 100644 --- a/src/calibre/devices/cybookg3/driver.py +++ b/src/calibre/devices/cybookg3/driver.py @@ -17,8 +17,8 @@ class CYBOOKG3(USBMS): # Be sure these have an entry in calibre.devices.mime FORMATS = ['mobi', 'prc', 'html', 'pdf', 'rtf', 'txt'] - VENDOR_ID = 0x0bda - PRODUCT_ID = 0x0703 + VENDOR_ID = [0x0bda, 0x3034] + PRODUCT_ID = [0x0703, 0x1795] BCD = [0x110, 0x132] VENDOR_NAME = 'BOOKEEN' diff --git a/src/calibre/devices/kindle/driver.py b/src/calibre/devices/kindle/driver.py index 8ef1ba6b9b..0da1f55c5e 100755 --- a/src/calibre/devices/kindle/driver.py +++ b/src/calibre/devices/kindle/driver.py @@ -12,8 +12,8 @@ class KINDLE(USBMS): # Ordered list of supported formats FORMATS = ['azw', 'mobi', 'prc', 'txt'] - VENDOR_ID = 0x1949 - PRODUCT_ID = 0x0001 + VENDOR_ID = [0x1949] + PRODUCT_ID = [0x0001] BCD = [0x399] VENDOR_NAME = 'KINDLE' diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py index 761fe9ba74..5943e2e13f 100644 --- a/src/calibre/devices/usbms/device.py +++ b/src/calibre/devices/usbms/device.py @@ -74,24 +74,27 @@ class Device(_Device): def get_fdi(cls): fdi = '' - fdi_base_values = dict( - app=__appname__, - deviceclass=cls.__name__, - vendor_id=hex(cls.VENDOR_ID), - product_id=hex(cls.PRODUCT_ID), - main_memory=cls.MAIN_MEMORY_VOLUME_LABEL, - storage_card=cls.STORAGE_CARD_VOLUME_LABEL, - ) - if cls.BCD is None: - fdi_base_values['BCD_start'] = '' - fdi_base_values['BCD_end'] = '' - fdi = cls.FDI_TEMPLATE % fdi_base_values - else: - for bcd in cls.BCD: - fdi_bcd_values = fdi_base_values - fdi_bcd_values['BCD_start'] = cls.FDI_BCD_TEMPLATE % dict(bcd=hex(bcd)) - fdi_bcd_values['BCD_end'] = '' - fdi += cls.FDI_TEMPLATE % fdi_bcd_values + for vid in cls.VENDOR_ID: + for pid in cls.PRODUCT_ID: + fdi_base_values = dict( + app=__appname__, + deviceclass=cls.__name__, + vendor_id=hex(vid), + product_id=hex(pid), + main_memory=cls.MAIN_MEMORY_VOLUME_LABEL, + storage_card=cls.STORAGE_CARD_VOLUME_LABEL, + ) + + if cls.BCD is None: + fdi_base_values['BCD_start'] = '' + fdi_base_values['BCD_end'] = '' + fdi += cls.FDI_TEMPLATE % fdi_base_values + else: + for bcd in cls.BCD: + fdi_bcd_values = fdi_base_values + fdi_bcd_values['BCD_start'] = cls.FDI_BCD_TEMPLATE % dict(bcd=hex(bcd)) + fdi_bcd_values['BCD_end'] = '' + fdi += cls.FDI_TEMPLATE % fdi_bcd_values return fdi