1__license__   = 'GPL v3'
2__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
3__docformat__ = 'restructuredtext en'
4
5from calibre.devices.usbms.driver import USBMS
6
7
8class TECLAST_K3(USBMS):
9
10    name           = 'Teclast K3/K5 Device Interface'
11    gui_name       = 'K3/K5'
12    description    = _('Communicate with the Teclast K3/K5 reader.')
13    author         = 'Kovid Goyal'
14    supported_platforms = ['windows', 'osx', 'linux']
15
16    # Ordered list of supported formats
17    FORMATS     = ['epub', 'fb2', 'doc', 'pdf', 'txt']
18
19    VENDOR_ID   = [0x071b]
20    PRODUCT_ID  = [0x3203]
21    BCD         = [0x0000, 0x0100]
22
23    VENDOR_NAME      = ['TECLAST', 'IMAGIN', 'RK28XX', 'PER3274B', 'BEBOOK',
24                        'RK2728', 'MR700', 'CYBER', 'E-BOOK', 'EBOOK']
25    WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = [
26        'DIGITAL_PLAYER', 'TL-K5', 'EREADER', 'USB-MSC', 'PER3274B', 'BEBOOK', 'USER', 'BOOK', 'E71B',
27    ]
28
29    MAIN_MEMORY_VOLUME_LABEL  = 'K3 Main Memory'
30    STORAGE_CARD_VOLUME_LABEL = 'K3 Storage Card'
31
32    EBOOK_DIR_MAIN = ''
33    EBOOK_DIR_CARD_A = ''
34    SUPPORTS_SUB_DIRS = True
35
36
37class NEWSMY(TECLAST_K3):
38    name = 'Newsmy device interface'
39    gui_name = 'Newsmy'
40    description    = _('Communicate with the Newsmy reader.')
41
42    FORMATS = ['epub', 'fb2', 'pdb', 'html', 'pdf', 'txt', 'skt']
43
44    VENDOR_NAME      = ''
45    WINDOWS_MAIN_MEM = 'NEWSMY'
46    WINDOWS_CARD_A_MEM = 'USBDISK____SD'
47
48
49class ARCHOS7O(TECLAST_K3):
50    name = 'Archos 7O device interface'
51    gui_name = 'Archos'
52    description    = _('Communicate with the Archos reader.')
53
54    FORMATS = ['epub', 'mobi', 'fb2', 'rtf', 'ap', 'html', 'pdf', 'txt']
55
56    VENDOR_NAME      = 'ARCHOS'
57    WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = 'USB-MSC'
58
59
60class PICO(NEWSMY):
61    name = 'Pico device interface'
62    gui_name = 'Pico'
63    description    = _('Communicate with the Pico reader.')
64
65    VENDOR_NAME      = ['TECLAST', 'IMAGIN', 'LASER-', 'LASER', '']
66    WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = ['USBDISK__USER', 'EB720', 'EBOOK-EB720']
67    EBOOK_DIR_MAIN = 'Books'
68    FORMATS = ['EPUB', 'FB2', 'TXT', 'LRC', 'PDB', 'PDF', 'HTML', 'WTXT']
69    SCAN_FROM_ROOT = True
70
71
72class IPAPYRUS(TECLAST_K3):
73
74    name = 'iPapyrus device interface'
75    gui_name = 'iPapyrus'
76    description    = _('Communicate with the iPapyrus reader.')
77
78    FORMATS = ['epub', 'pdf', 'txt']
79
80    VENDOR_NAME      = ['E_READER', 'EBOOKREA', 'ICARUS']
81    WINDOWS_MAIN_MEM = ''
82
83
84class SOVOS(TECLAST_K3):
85
86    name = 'Sovos device interface'
87    gui_name = 'Sovos'
88    description    = _('Communicate with the Sovos reader.')
89
90    FORMATS = ['epub', 'fb2', 'pdf', 'txt']
91
92    VENDOR_NAME      = 'RK28XX'
93    WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = 'USB-MSC'
94
95
96class SUNSTECH_EB700(TECLAST_K3):
97    name = 'Sunstech EB700 device interface'
98    gui_name = 'EB700'
99    description    = _('Communicate with the Sunstech EB700 reader.')
100
101    FORMATS = ['epub', 'fb2', 'pdf', 'pdb', 'txt']
102
103    VENDOR_NAME = 'SUNEB700'
104    WINDOWS_MAIN_MEM = 'USB-MSC'
105
106
107class STASH(TECLAST_K3):
108
109    name = 'Stash device interface'
110    gui_name = 'Stash'
111    description    = _('Communicate with the Stash W950 reader.')
112
113    FORMATS = ['epub', 'fb2', 'lrc', 'pdb', 'html', 'fb2', 'wtxt',
114            'txt', 'pdf']
115
116    VENDOR_NAME = 'STASH'
117    WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = 'W950'
118
119
120class WEXLER(TECLAST_K3):
121
122    name = 'Wexler device interface'
123    gui_name = 'Wexler'
124    description    = _('Communicate with the Wexler reader.')
125
126    FORMATS = ['epub', 'fb2', 'pdf', 'txt']
127
128    VENDOR_NAME = 'WEXLER'
129    WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = 'T7001'
130