diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index a3eb4272ba..7f1b524033 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -454,7 +454,7 @@ from calibre.devices.hanvon.driver import N516, EB511, ALEX from calibre.devices.edge.driver import EDGE from calibre.devices.teclast.driver import TECLAST_K3 from calibre.devices.sne.driver import SNE -from calibre.devices.misc import PALMPRE +from calibre.devices.misc import PALMPRE, KOBO from calibre.ebooks.metadata.fetch import GoogleBooks, ISBNDB, Amazon from calibre.library.catalog import CSV_XML, EPUB_MOBI @@ -536,7 +536,8 @@ plugins += [ EDGE, SNE, ALEX, - PALMPRE + PALMPRE, + KOBO, ] plugins += [x for x in list(locals().values()) if isinstance(x, type) and \ x.__name__.endswith('MetadataReader')] diff --git a/src/calibre/devices/misc.py b/src/calibre/devices/misc.py index c903458634..534e944415 100644 --- a/src/calibre/devices/misc.py +++ b/src/calibre/devices/misc.py @@ -28,3 +28,24 @@ class PALMPRE(USBMS): EBOOK_DIR_MAIN = 'E-books' +class KOBO(USBMS): + + name = 'Kobo Reader Device Interface' + gui_name = 'Kobo Reader' + description = _('Communicate with the Kobo Reader') + author = 'Kovid Goyal' + + supported_platforms = ['windows', 'osx', 'linux'] + + # Ordered list of supported formats + FORMATS = ['epub', 'pdf'] + + VENDOR_ID = [0x2237] + PRODUCT_ID = [0x4161] + BCD = [0x0110] + + VENDOR_NAME = 'KOBO_INC' + WINDOWS_MAIN_MEM = '.KOBOEREADER' + + EBOOK_DIR_MAIN = 'e-books' +