From a868ec8e0c7b67caf8dd4d357aa692bb23e1b2f7 Mon Sep 17 00:00:00 2001 From: John Schember Date: Wed, 29 Jul 2009 18:48:48 -0400 Subject: [PATCH 1/2] Preliminary Iliad driver. --- src/calibre/customize/builtins.py | 2 + src/calibre/devices/iliad/__init__.py | 0 src/calibre/devices/iliad/driver.py | 57 +++++++++++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 src/calibre/devices/iliad/__init__.py create mode 100644 src/calibre/devices/iliad/driver.py diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index de26365550..e0e552f999 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -349,6 +349,7 @@ from calibre.devices.bebook.driver import BEBOOK, BEBOOK_MINI from calibre.devices.blackberry.driver import BLACKBERRY from calibre.devices.cybookg3.driver import CYBOOKG3 from calibre.devices.eb600.driver import EB600 +form 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 @@ -394,6 +395,7 @@ plugins += [ BLACKBERRY, CYBOOKG3, EB600, + ILIAD, IREXDR1000, JETBOOK, KINDLE, diff --git a/src/calibre/devices/iliad/__init__.py b/src/calibre/devices/iliad/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/calibre/devices/iliad/driver.py b/src/calibre/devices/iliad/driver.py new file mode 100644 index 0000000000..403598d506 --- /dev/null +++ b/src/calibre/devices/iliad/driver.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- + +__license__ = 'GPL 3' +__copyright__ = '2009, John Schember ' +__docformat__ = 'restructuredtext en' + +''' +Device driver for IRex Iliad +''' + +import os + +from calibre.devices.usbms.driver import USBMS + +class ILIAD(USBMS): + name = 'IRex Iliad Device Interface' + description = _('Communicate with the IRex Iliad eBook reader.') + author = _('John Schember') + supported_platforms = ['windows', 'linux'] + + + # Ordered list of supported formats + # Be sure these have an entry in calibre.devices.mime + FORMATS = ['mobi', 'prc', 'html', 'pdf', 'txt'] + + VENDOR_ID = [0x04cc] + PRODUCT_ID = [0x1a64] + BCD = [0x100] + + VENDOR_NAME = 'IREX' + WINDOWS_MAIN_MEM = 'ILIAD' + + #OSX_MAIN_MEM = '' + + MAIN_MEMORY_VOLUME_LABEL = 'IRex Iliad Main Memory' + + EBOOK_DIR_MAIN = 'books' + SUPPORTS_SUB_DIRS = True + + def delete_books(self, paths, end_session=True): + for i, path in enumerate(paths): + self.report_progress((i+1) / float(len(paths)), _('Removing books from device...')) + if os.path.exists(path): + os.unlink(path) + + filepath, ext = os.path.splitext(path) + + # Delete the ebook auxiliary file + if os.path.exists(filepath + '.mbp'): + os.unlink(filepath + '.mbp') + + try: + os.removedirs(os.path.dirname(path)) + except: + pass + + self.report_progress(1.0, _('Removing books from device...')) From 6b5d4d3548ab6fe5030f27b339aa1b5c44717edd Mon Sep 17 00:00:00 2001 From: John Schember Date: Wed, 29 Jul 2009 19:19:22 -0400 Subject: [PATCH 2/2] Fix typo --- src/calibre/customize/builtins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index f360bc6759..e8f6870016 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -356,7 +356,7 @@ from calibre.devices.bebook.driver import BEBOOK, BEBOOK_MINI from calibre.devices.blackberry.driver import BLACKBERRY from calibre.devices.cybookg3.driver import CYBOOKG3 from calibre.devices.eb600.driver import EB600 -form calibre.devices.iliad.driver import ILIAD +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