mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Rename BeBook driver to Hanlin to avoid confustion as it supports the EZReader, and LBook in addition to the BeBook. Move Boox and have it subclass Hanlin driver as it uses 90% of the Hanlin driver's code.
This commit is contained in:
parent
95c298b5af
commit
e9c01f2226
@ -400,7 +400,7 @@ from calibre.ebooks.txt.output import TXTOutput
|
|||||||
from calibre.customize.profiles import input_profiles, output_profiles
|
from calibre.customize.profiles import input_profiles, output_profiles
|
||||||
|
|
||||||
|
|
||||||
from calibre.devices.bebook.driver import BEBOOK, BEBOOK_MINI
|
from calibre.devices.hanlin.driver import HANLINV3, HANLINV5, BOOX
|
||||||
from calibre.devices.blackberry.driver import BLACKBERRY
|
from calibre.devices.blackberry.driver import BLACKBERRY
|
||||||
from calibre.devices.cybookg3.driver import CYBOOKG3, CYBOOK_OPUS
|
from calibre.devices.cybookg3.driver import CYBOOKG3, CYBOOK_OPUS
|
||||||
from calibre.devices.eb600.driver import EB600, COOL_ER, SHINEBOOK, \
|
from calibre.devices.eb600.driver import EB600, COOL_ER, SHINEBOOK, \
|
||||||
@ -417,7 +417,6 @@ from calibre.devices.nokia.driver import N770, N810
|
|||||||
from calibre.devices.eslick.driver import ESLICK
|
from calibre.devices.eslick.driver import ESLICK
|
||||||
from calibre.devices.nuut2.driver import NUUT2
|
from calibre.devices.nuut2.driver import NUUT2
|
||||||
from calibre.devices.iriver.driver import IRIVER_STORY
|
from calibre.devices.iriver.driver import IRIVER_STORY
|
||||||
from calibre.devices.boox.driver import BOOX
|
|
||||||
|
|
||||||
from calibre.ebooks.metadata.fetch import GoogleBooks, ISBNDB, Amazon
|
from calibre.ebooks.metadata.fetch import GoogleBooks, ISBNDB, Amazon
|
||||||
plugins = [HTML2ZIP, PML2PMLZ, GoogleBooks, ISBNDB, Amazon]
|
plugins = [HTML2ZIP, PML2PMLZ, GoogleBooks, ISBNDB, Amazon]
|
||||||
@ -455,8 +454,8 @@ plugins += [
|
|||||||
TXTOutput,
|
TXTOutput,
|
||||||
]
|
]
|
||||||
plugins += [
|
plugins += [
|
||||||
BEBOOK,
|
HANLINV3,
|
||||||
BEBOOK_MINI,
|
HANLINV5,
|
||||||
BLACKBERRY,
|
BLACKBERRY,
|
||||||
CYBOOKG3,
|
CYBOOKG3,
|
||||||
ILIAD,
|
ILIAD,
|
||||||
|
@ -1,87 +0,0 @@
|
|||||||
__license__ = 'GPL v3'
|
|
||||||
__copyright__ = '2009, Jesus Manuel Marinho Valcarce <jjjesss at gmail.com>'
|
|
||||||
__docformat__ = 'restructuredtext en'
|
|
||||||
|
|
||||||
'''
|
|
||||||
Device driver for BOOX
|
|
||||||
'''
|
|
||||||
|
|
||||||
import re
|
|
||||||
|
|
||||||
from calibre.devices.usbms.driver import USBMS
|
|
||||||
|
|
||||||
class BOOX(USBMS):
|
|
||||||
|
|
||||||
name = 'BOOX driver'
|
|
||||||
gui_name = 'BOOX'
|
|
||||||
description = _('Communicate with the BOOX eBook reader.')
|
|
||||||
author = 'Jesus Manuel Marinho Valcarce'
|
|
||||||
supported_platforms = ['windows', 'osx', 'linux']
|
|
||||||
|
|
||||||
# Ordered list of supported formats
|
|
||||||
FORMATS = ['ebub', 'pdf', 'html', 'txt', 'rtf', 'mobi', 'prc', 'chm']
|
|
||||||
|
|
||||||
VENDOR_ID = [0x0525]
|
|
||||||
PRODUCT_ID = [0xa4a5]
|
|
||||||
BCD = [0x322]
|
|
||||||
|
|
||||||
VENDOR_NAME = 'Linux 2.6.26-466-ga04670e with fsl-usb2-udc'
|
|
||||||
WINDOWS_MAIN_MEM = 'FILE-STOR_GADGET'
|
|
||||||
WINDOWS_CARD_A_MEM = 'FILE-STOR_GADGET'
|
|
||||||
|
|
||||||
OSX_MAIN_MEM = 'Linux File-Stor Gadget Media'
|
|
||||||
OSX_CARD_A_MEM = 'Linux File-Stor Gadget Media'
|
|
||||||
|
|
||||||
MAIN_MEMORY_VOLUME_LABEL = 'BOOX Internal Memory'
|
|
||||||
STORAGE_CARD_VOLUME_LABEL = 'BOOX Storage Card'
|
|
||||||
|
|
||||||
EBOOK_DIR_MAIN = 'MyBooks'
|
|
||||||
EBOOK_DIR_CARD_A = 'MyBooks'
|
|
||||||
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
|
|
||||||
|
|
||||||
if card and not main:
|
|
||||||
drives['main'] = card
|
|
||||||
drives['carda'] = None
|
|
||||||
|
|
||||||
return drives
|
|
||||||
|
|
||||||
def osx_sort_names(self, names):
|
|
||||||
main = names.get('main', None)
|
|
||||||
card = names.get('carda', None)
|
|
||||||
|
|
||||||
try:
|
|
||||||
main_num = int(re.findall('\d+', main)[0]) if main else None
|
|
||||||
except:
|
|
||||||
main_num = None
|
|
||||||
try:
|
|
||||||
card_num = int(re.findall('\d+', card)[0]) if card else None
|
|
||||||
except:
|
|
||||||
card_num = None
|
|
||||||
|
|
||||||
if card_num is not None and main_num is not None and card_num > main_num:
|
|
||||||
names['main'] = card
|
|
||||||
names['carda'] = main
|
|
||||||
|
|
||||||
if card and not main:
|
|
||||||
names['main'] = card
|
|
||||||
names['carda'] = None
|
|
||||||
|
|
||||||
return names
|
|
||||||
|
|
||||||
def linux_swap_drives(self, drives):
|
|
||||||
if len(drives) < 2: return drives
|
|
||||||
drives = list(drives)
|
|
||||||
t = drives[0]
|
|
||||||
drives[0] = drives[1]
|
|
||||||
drives[1] = t
|
|
||||||
return tuple(drives)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -5,23 +5,23 @@ __copyright__ = '2009, Tijmen Ruizendaal <tijmen at mybebook.com>'
|
|||||||
__docformat__ = 'restructuredtext en'
|
__docformat__ = 'restructuredtext en'
|
||||||
|
|
||||||
'''
|
'''
|
||||||
Device driver for BeBook
|
Device driver for Hanlin
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from calibre.devices.usbms.driver import USBMS
|
from calibre.devices.usbms.driver import USBMS
|
||||||
|
|
||||||
class BEBOOK(USBMS):
|
class HANLINV3(USBMS):
|
||||||
|
|
||||||
name = 'BeBook driver'
|
name = 'Hanlin V3 driver'
|
||||||
gui_name = 'BeBook'
|
gui_name = 'Hanlin V3'
|
||||||
description = _('Communicate with the BeBook eBook reader.')
|
description = _('Communicate with Hanlin V3 eBook readers.')
|
||||||
author = 'Tijmen Ruizendaal'
|
author = 'Tijmen Ruizendaal'
|
||||||
supported_platforms = ['windows', 'osx', 'linux']
|
supported_platforms = ['windows', 'osx', 'linux']
|
||||||
|
|
||||||
# Ordered list of supported formats
|
# Ordered list of supported formats
|
||||||
FORMATS = ['mobi', 'epub', 'fb2', 'lit', 'prc', 'pdf', 'rtf', 'txt']
|
FORMATS = ['epub', 'mobi', 'fb2', 'lit', 'prc', 'pdf', 'rtf', 'txt']
|
||||||
|
|
||||||
VENDOR_ID = [0x0525]
|
VENDOR_ID = [0x0525]
|
||||||
PRODUCT_ID = [0x8803, 0x6803]
|
PRODUCT_ID = [0x8803, 0x6803]
|
||||||
@ -34,8 +34,8 @@ class BEBOOK(USBMS):
|
|||||||
OSX_MAIN_MEM = 'Linux File-Stor Gadget Media'
|
OSX_MAIN_MEM = 'Linux File-Stor Gadget Media'
|
||||||
OSX_CARD_A_MEM = 'Linux File-Stor Gadget Media'
|
OSX_CARD_A_MEM = 'Linux File-Stor Gadget Media'
|
||||||
|
|
||||||
MAIN_MEMORY_VOLUME_LABEL = 'BeBook Internal Memory'
|
MAIN_MEMORY_VOLUME_LABEL = 'Hanlin V3 Internal Memory'
|
||||||
STORAGE_CARD_VOLUME_LABEL = 'BeBook Storage Card'
|
STORAGE_CARD_VOLUME_LABEL = 'Hanlin V3 Storage Card'
|
||||||
|
|
||||||
SUPPORTS_SUB_DIRS = True
|
SUPPORTS_SUB_DIRS = True
|
||||||
|
|
||||||
@ -89,18 +89,40 @@ class BEBOOK(USBMS):
|
|||||||
return tuple(drives)
|
return tuple(drives)
|
||||||
|
|
||||||
|
|
||||||
class BEBOOK_MINI(BEBOOK):
|
class HANLINV5(HANLINV3):
|
||||||
name = 'BeBook Mini driver'
|
name = 'Hanlin V5 driver'
|
||||||
gui_name = 'BeBook Mini'
|
gui_name = 'Hanlin V5'
|
||||||
description = _('Communicate with the BeBook Mini eBook reader.')
|
description = _('Communicate with Hanlin V5 eBook readers.')
|
||||||
|
|
||||||
|
|
||||||
VENDOR_ID = [0x0492]
|
VENDOR_ID = [0x0492]
|
||||||
PRODUCT_ID = [0x8813]
|
PRODUCT_ID = [0x8813]
|
||||||
BCD = [0x319]
|
BCD = [0x319]
|
||||||
|
|
||||||
OSX_MAIN_MEM = 'BeBook Mini Internal Memory'
|
OSX_MAIN_MEM = 'Hanlin V5 Internal Memory'
|
||||||
OSX_CARD_MEM = 'BeBook Mini Storage Card'
|
OSX_CARD_MEM = 'Hanlin V5 Storage Card'
|
||||||
|
|
||||||
MAIN_MEMORY_VOLUME_LABEL = 'BeBook Mini Internal Memory'
|
MAIN_MEMORY_VOLUME_LABEL = 'Hanlin V5 Internal Memory'
|
||||||
STORAGE_CARD_VOLUME_LABEL = 'BeBook Mini Storage Card'
|
STORAGE_CARD_VOLUME_LABEL = 'Hanlin V5 Storage Card'
|
||||||
|
|
||||||
|
|
||||||
|
class BOOX(HANLINV3):
|
||||||
|
|
||||||
|
name = 'BOOX driver'
|
||||||
|
gui_name = 'BOOX'
|
||||||
|
description = _('Communicate with the BOOX eBook reader.')
|
||||||
|
author = 'Jesus Manuel Marinho Valcarce'
|
||||||
|
supported_platforms = ['windows', 'osx', 'linux']
|
||||||
|
|
||||||
|
# Ordered list of supported formats
|
||||||
|
FORMATS = ['ebub', 'pdf', 'html', 'txt', 'rtf', 'mobi', 'prc', 'chm']
|
||||||
|
|
||||||
|
VENDOR_ID = [0x0525]
|
||||||
|
PRODUCT_ID = [0xa4a5]
|
||||||
|
BCD = [0x322]
|
||||||
|
|
||||||
|
MAIN_MEMORY_VOLUME_LABEL = 'BOOX Internal Memory'
|
||||||
|
STORAGE_CARD_VOLUME_LABEL = 'BOOX Storage Card'
|
||||||
|
|
||||||
|
EBOOK_DIR_MAIN = 'MyBooks'
|
||||||
|
EBOOK_DIR_CARD_A = 'MyBooks'
|
Loading…
x
Reference in New Issue
Block a user