diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index 7e0df10595..0433b2ca28 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -422,6 +422,7 @@ from calibre.devices.nuut2.driver import NUUT2 from calibre.devices.iriver.driver import IRIVER_STORY from calibre.devices.binatone.driver import README from calibre.devices.hanvon.driver import N516, EB511 +from calibre.devices.teclast.driver import TECLAST_K3 from calibre.ebooks.metadata.fetch import GoogleBooks, ISBNDB, Amazon from calibre.library.catalog import CSV_XML, EPUB_MOBI @@ -496,7 +497,8 @@ plugins += [ README, N516, EB511, - ELONEX + ELONEX, + TECLAST_K3 ] plugins += [x for x in list(locals().values()) if isinstance(x, type) and \ x.__name__.endswith('MetadataReader')] diff --git a/src/calibre/devices/teclast/__init__.py b/src/calibre/devices/teclast/__init__.py new file mode 100644 index 0000000000..9cc2ff9a89 --- /dev/null +++ b/src/calibre/devices/teclast/__init__.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai +from __future__ import with_statement + +__license__ = 'GPL v3' +__copyright__ = '2010, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + + + diff --git a/src/calibre/devices/teclast/driver.py b/src/calibre/devices/teclast/driver.py new file mode 100644 index 0000000000..7f95bcbffe --- /dev/null +++ b/src/calibre/devices/teclast/driver.py @@ -0,0 +1,42 @@ +__license__ = 'GPL v3' +__copyright__ = '2009, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from calibre.devices.usbms.driver import USBMS + +class TECLAST_K3(USBMS): + + name = 'Teclast K3 Device Interface' + gui_name = 'K3' + description = _('Communicate with the Teclast K3 reader.') + author = 'Kovid Goyal' + supported_platforms = ['windows', 'osx', 'linux'] + + # Ordered list of supported formats + FORMATS = ['epub', 'fb2', 'doc', 'pdf', 'txt'] + + VENDOR_ID = [0x071b] + PRODUCT_ID = [0x3203] + BCD = [0x0000] + + VENDOR_NAME = 'TECLAST' + WINDOWS_MAIN_MEM = 'DIGITAL_PLAYER' + WINDOWS_CARD_A_MEM = 'DIGITAL_PLAYER' + + MAIN_MEMORY_VOLUME_LABEL = 'K3 Main Memory' + STORAGE_CARD_VOLUME_LABEL = 'K3 Storage Card' + + EBOOK_DIR_MAIN = '' + EBOOK_DIR_CARD_A = '' + 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 + + diff --git a/src/calibre/manual/faq.rst b/src/calibre/manual/faq.rst index 795386b90e..043c8d7041 100644 --- a/src/calibre/manual/faq.rst +++ b/src/calibre/manual/faq.rst @@ -81,7 +81,7 @@ Device Integration What devices does |app| support? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -At the moment |app| has full support for the SONY PRS 300/500/505/600/700/900, Barnes & Noble Nook, Cybook Gen 3/Opus, Amazon Kindle 1/2/DX, Longshine ShineBook, Ectaco Jetbook, BeBook/BeBook Mini, Irex Illiad/DR1000, Foxit eSlick, PocketBook 360, Italica, eClicto, Iriver Story, Airis dBook, Hanvon N515, Binatone Readme, various Android phones and the iPhone. In addition, using the :guilabel:`Save to disk` function you can use it with any ebook reader that exports itself as a USB disk. +At the moment |app| has full support for the SONY PRS 300/500/505/600/700/900, Barnes & Noble Nook, Cybook Gen 3/Opus, Amazon Kindle 1/2/DX, Longshine ShineBook, Ectaco Jetbook, BeBook/BeBook Mini, Irex Illiad/DR1000, Foxit eSlick, PocketBook 360, Italica, eClicto, Iriver Story, Airis dBook, Hanvon N515, Binatone Readme, Teclast K3, various Android phones and the iPhone. In addition, using the :guilabel:`Save to disk` function you can use it with any ebook reader that exports itself as a USB disk. How can I help get my device supported in |app|? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~