From 6486e2bee0e93d628319f794e2ead1c55f20880c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 7 Dec 2009 09:24:50 -0700 Subject: [PATCH] Windows only driver for the Nook --- src/calibre/customize/builtins.py | 2 ++ src/calibre/devices/nook/__init__.py | 0 src/calibre/devices/nook/driver.py | 45 ++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 src/calibre/devices/nook/__init__.py create mode 100644 src/calibre/devices/nook/driver.py diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index c317decd76..25a5fd0910 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -409,6 +409,7 @@ from calibre.devices.iliad.driver import ILIAD from calibre.devices.irexdr.driver import IREXDR1000 from calibre.devices.jetbook.driver import JETBOOK from calibre.devices.kindle.driver import KINDLE, KINDLE2, KINDLE_DX +from calibre.devices.nook.driver import NOOK from calibre.devices.prs500.driver import PRS500 from calibre.devices.prs505.driver import PRS505 from calibre.devices.prs700.driver import PRS700 @@ -464,6 +465,7 @@ plugins += [ KINDLE, KINDLE2, KINDLE_DX, + NOOK, PRS505, PRS700, PRS500, diff --git a/src/calibre/devices/nook/__init__.py b/src/calibre/devices/nook/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/calibre/devices/nook/driver.py b/src/calibre/devices/nook/driver.py new file mode 100644 index 0000000000..8557af75b8 --- /dev/null +++ b/src/calibre/devices/nook/driver.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- + +__license__ = 'GPL v3' +__copyright__ = '2009, John Schember ' +__docformat__ = 'restructuredtext en' + +''' +Device driver for Barns and Nobel's Nook +''' + +from calibre.devices.usbms.driver import USBMS + +class NOOK(USBMS): + + name = 'Nook Device Interface' + description = _('Communicate with the Nook eBook reader.') + author = 'John Schember' + supported_platforms = ['windows', 'linux', 'osx'] + + # Ordered list of supported formats + FORMATS = ['epub', 'pdb', 'pdf'] + + VENDOR_ID = [0x2080] + PRODUCT_ID = [0x001] + BCD = [0x322] + + VENDOR_NAME = 'B&N' + WINDOWS_MAIN_MEM = 'NOOK' + WINDOWS_CARD_A_MEM = 'NOOK' + + #OSX_MAIN_MEM = '' + + MAIN_MEMORY_VOLUME_LABEL = 'BN Nook Main Memory' + + EBOOK_DIR_MAIN = 'my documents' + SUPPORTS_SUB_DIRS = True + + def windows_sort_drives(self, drives): + main = drives.get('main', None) + card = drives.get('carda', None) + if card and main and card < main: + drives['main'] = card + drives['carda'] = main + + return drives