diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index de9495925f..79214b667a 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -554,7 +554,8 @@ from calibre.devices.eb600.driver import (EB600, COOL_ER, SHINEBOOK, from calibre.devices.iliad.driver import ILIAD from calibre.devices.irexdr.driver import IREXDR1000, IREXDR800 from calibre.devices.jetbook.driver import JETBOOK, MIBUK, JETBOOK_MINI -from calibre.devices.kindle.driver import KINDLE, KINDLE2, KINDLE_DX +from calibre.devices.kindle.driver import (KINDLE, KINDLE2, KINDLE_DX, + KINDLE_FIRE) from calibre.devices.nook.driver import NOOK, NOOK_COLOR from calibre.devices.prs505.driver import PRS505 from calibre.devices.prst1.driver import PRST1 @@ -656,9 +657,7 @@ plugins += [ MIBUK, SHINEBOOK, POCKETBOOK360, POCKETBOOK301, POCKETBOOK602, POCKETBOOK701, POCKETBOOK360P, - KINDLE, - KINDLE2, - KINDLE_DX, + KINDLE, KINDLE2, KINDLE_DX, KINDLE_FIRE, NOOK, NOOK_COLOR, PRS505, PRST1, ANDROID, S60, WEBOS, diff --git a/src/calibre/devices/kindle/driver.py b/src/calibre/devices/kindle/driver.py index 43718e7205..6e8710b041 100644 --- a/src/calibre/devices/kindle/driver.py +++ b/src/calibre/devices/kindle/driver.py @@ -377,3 +377,21 @@ class KINDLE_DX(KINDLE2): PRODUCT_ID = [0x0003] BCD = [0x0100] +class KINDLE_FIRE(KINDLE2): + + name = 'Kindle Fire Device Interface' + description = _('Communicate with the Kindle Fire') + gui_name = 'Fire' + + PRODUCT_ID = [0x0006] + BCD = [0x216, 0x100] + + EBOOK_DIR_MAIN = 'Documents' + + def get_main_ebook_dir(self, for_upload=False): + if for_upload: + return self.EBOOK_DIR_MAIN + return '' + + + diff --git a/src/calibre/gui2/wizard/__init__.py b/src/calibre/gui2/wizard/__init__.py index c0965412db..cd599ab367 100644 --- a/src/calibre/gui2/wizard/__init__.py +++ b/src/calibre/gui2/wizard/__init__.py @@ -107,6 +107,10 @@ class KindleDX(Kindle): name = 'Kindle DX' id = 'kindledx' +class KindleFire(KindleDX): + name = 'Kindle Fire' + id = 'kindle_fire' + class Sony505(Device): output_profile = 'sony'