17
17
'console_scripts': [ \
18
'prs500 = calibre.devices.prs500.cli.main:main',
19
'lrf-meta = calibre.ebooks.lrf.meta:main',
20
'rtf-meta = calibre.ebooks.metadata.rtf:main',
21
'pdf-meta = calibre.ebooks.metadata.pdf:main',
22
'lit-meta = calibre.ebooks.metadata.lit:main',
23
'imp-meta = calibre.ebooks.metadata.imp:main',
24
'rb-meta = calibre.ebooks.metadata.rb:main',
25
'opf-meta = calibre.ebooks.metadata.opf2:main',
26
'odt-meta = calibre.ebooks.metadata.odt:main',
27
'epub-meta = calibre.ebooks.metadata.epub:main',
28
'mobi-meta = calibre.ebooks.metadata.mobi:main',
29
'txt2lrf = calibre.ebooks.lrf.txt.convert_from:main',
30
'html2lrf = calibre.ebooks.lrf.html.convert_from:main',
31
'html2oeb = calibre.ebooks.html:main',
32
'html2epub = calibre.ebooks.epub.from_html:main',
33
'odt2oeb = calibre.ebooks.odt.to_oeb:main',
34
'markdown-calibre = calibre.ebooks.markdown.markdown:main',
35
'lit2lrf = calibre.ebooks.lrf.lit.convert_from:main',
36
'epub2lrf = calibre.ebooks.lrf.epub.convert_from:main',
37
'rtf2lrf = calibre.ebooks.lrf.rtf.convert_from:main',
38
'web2disk = calibre.web.fetch.simple:main',
39
'feeds2disk = calibre.web.feeds.main:main',
40
'calibre-server = calibre.library.server:main',
41
'feeds2lrf = calibre.ebooks.lrf.feeds.convert_from:main',
42
'feeds2epub = calibre.ebooks.epub.from_feeds:main',
43
'feeds2mobi = calibre.ebooks.mobi.from_feeds:main',
44
'web2lrf = calibre.ebooks.lrf.web.convert_from:main',
45
'pdf2lrf = calibre.ebooks.lrf.pdf.convert_from:main',
46
'mobi2lrf = calibre.ebooks.lrf.mobi.convert_from:main',
47
'fb22lrf = calibre.ebooks.lrf.fb2.convert_from:main',
48
'fb2-meta = calibre.ebooks.metadata.fb2:main',
49
'any2lrf = calibre.ebooks.lrf.any.convert_from:main',
50
'any2epub = calibre.ebooks.epub.from_any:main',
51
'any2lit = calibre.ebooks.lit.from_any:main',
52
'any2mobi = calibre.ebooks.mobi.from_any:main',
53
'lrf2lrs = calibre.ebooks.lrf.lrfparser:main',
54
'lrs2lrf = calibre.ebooks.lrf.lrs.convert_from:main',
55
'pdfreflow = calibre.ebooks.lrf.pdf.reflow:main',
56
'librarything = calibre.ebooks.metadata.library_thing:main',
57
'mobi2oeb = calibre.ebooks.mobi.reader:main',
58
'oeb2mobi = calibre.ebooks.mobi.writer:main',
59
'lit2oeb = calibre.ebooks.lit.reader:main',
60
'oeb2lit = calibre.ebooks.lit.writer:main',
61
'comic2lrf = calibre.ebooks.lrf.comic.convert_from:main',
62
'comic2epub = calibre.ebooks.epub.from_comic:main',
63
'comic2mobi = calibre.ebooks.mobi.from_comic:main',
64
'comic2pdf = calibre.ebooks.pdf.from_comic:main',
65
'calibre-debug = calibre.debug:main',
66
'calibredb = calibre.library.cli:main',
67
'calibre-fontconfig = calibre.utils.fontconfig:main',
68
'calibre-parallel = calibre.parallel:main',
69
'calibre-customize = calibre.customize.ui:main',
70
'pdftrim = calibre.ebooks.pdf.pdftrim:main' ,
71
'fetch-ebook-metadata = calibre.ebooks.metadata.fetch:main',
72
'calibre-smtp = calibre.utils.smtp:main',
18
'ebook-device = calibre.devices.prs500.cli.main:main',
19
'ebook-meta = calibre.ebooks.metadata.cli:main',
20
'ebook-convert = calibre.ebooks.conversion.cli:main',
21
'markdown-calibre = calibre.ebooks.markdown.markdown:main',
22
'web2disk = calibre.web.fetch.simple:main',
23
'calibre-server = calibre.library.server:main',
24
'lrf2lrs = calibre.ebooks.lrf.lrfparser:main',
25
'lrs2lrf = calibre.ebooks.lrf.lrs.convert_from:main',
26
'librarything = calibre.ebooks.metadata.library_thing:main',
27
'calibre-debug = calibre.debug:main',
28
'calibredb = calibre.library.cli:main',
29
'calibre-parallel = calibre.utils.ipc.worker:main',
30
'calibre-customize = calibre.customize.ui:main',
31
'calibre-complete = calibre.utils.complete:main',
32
'pdfmanipulate = calibre.ebooks.pdf.manipulate.cli:main',
33
'fetch-ebook-metadata = calibre.ebooks.metadata.fetch:main',
34
'calibre-smtp = calibre.utils.smtp:main',
75
__appname__+' = calibre.gui2.main:main',
76
'lrfviewer = calibre.gui2.lrf_renderer.main:main',
77
'ebook-viewer = calibre.gui2.viewer.main:main',
37
__appname__+' = calibre.gui2.main:main',
38
'lrfviewer = calibre.gui2.lrf_renderer.main:main',
39
'ebook-viewer = calibre.gui2.viewer.main:main',
171
133
return open(path, mode)
173
135
def setup_completion(fatal_errors):
175
138
print 'Setting up bash completion...',
176
139
sys.stdout.flush()
177
from calibre.ebooks.lrf.html.convert_from import option_parser as htmlop
178
from calibre.ebooks.lrf.txt.convert_from import option_parser as txtop
179
from calibre.ebooks.lrf.meta import option_parser as metaop
140
from calibre.ebooks.metadata.cli import option_parser as metaop, filetypes as meta_filetypes
180
141
from calibre.ebooks.lrf.lrfparser import option_parser as lrf2lrsop
181
142
from calibre.gui2.lrf_renderer.main import option_parser as lrfviewerop
182
from calibre.ebooks.lrf.pdf.reflow import option_parser as pdfhtmlop
183
from calibre.ebooks.mobi.reader import option_parser as mobioeb
184
from calibre.ebooks.lit.reader import option_parser as lit2oeb
185
from calibre.web.feeds.main import option_parser as feeds2disk
143
from calibre.web.fetch.simple import option_parser as web2disk
186
144
from calibre.web.feeds.recipes import titles as feed_titles
187
from calibre.ebooks.lrf.feeds.convert_from import option_parser as feeds2lrf
188
from calibre.ebooks.metadata.epub import option_parser as epub_meta
189
from calibre.ebooks.lrf.comic.convert_from import option_parser as comicop
190
from calibre.ebooks.epub.from_html import option_parser as html2epub
191
from calibre.ebooks.html import option_parser as html2oeb
192
from calibre.ebooks.odt.to_oeb import option_parser as odt2oeb
193
from calibre.ebooks.epub.from_feeds import option_parser as feeds2epub
194
from calibre.ebooks.mobi.from_feeds import option_parser as feeds2mobi
195
from calibre.ebooks.epub.from_any import option_parser as any2epub
196
from calibre.ebooks.lit.from_any import option_parser as any2lit
197
from calibre.ebooks.epub.from_comic import option_parser as comic2epub
198
from calibre.ebooks.mobi.from_any import option_parser as any2mobi
199
145
from calibre.ebooks.metadata.fetch import option_parser as fem_op
200
from calibre.ebooks.mobi.writer import option_parser as oeb2mobi
201
146
from calibre.gui2.main import option_parser as guiop
202
147
from calibre.utils.smtp import option_parser as smtp_op
203
148
any_formats = ['epub', 'htm', 'html', 'xhtml', 'xhtm', 'rar', 'zip',
204
149
'txt', 'lit', 'rtf', 'pdf', 'prc', 'mobi', 'fb2', 'odt']
205
f = open_file('/etc/bash_completion.d/libprs500')
209
f = open_file('/etc/bash_completion.d/calibre')
150
if os.path.exists('/usr/share/bash-completion'):
151
f = open_file('/usr/share/bash-completion/calibre')
153
f = open_file('/etc/bash_completion.d/calibre')
210
154
manifest.append(f.name)
212
156
f.write('# calibre Bash Shell Completion\n')
213
f.write(opts_and_exts('html2lrf', htmlop,
214
['htm', 'html', 'xhtml', 'xhtm', 'rar', 'zip', 'php']))
215
f.write(opts_and_exts('txt2lrf', txtop, ['txt']))
216
f.write(opts_and_exts('lit2lrf', htmlop, ['lit']))
217
f.write(opts_and_exts('epub2lrf', htmlop, ['epub']))
218
f.write(opts_and_exts('rtf2lrf', htmlop, ['rtf']))
219
f.write(opts_and_exts('mobi2lrf', htmlop, ['mobi', 'prc']))
220
f.write(opts_and_exts('fb22lrf', htmlop, ['fb2']))
221
f.write(opts_and_exts('pdf2lrf', htmlop, ['pdf']))
222
f.write(opts_and_exts('any2lrf', htmlop, any_formats))
223
157
f.write(opts_and_exts('calibre', guiop, any_formats))
224
f.write(opts_and_exts('any2epub', any2epub, any_formats))
225
f.write(opts_and_exts('any2lit', any2lit, any_formats))
226
f.write(opts_and_exts('any2mobi', any2mobi, any_formats))
227
f.write(opts_and_exts('oeb2mobi', oeb2mobi, ['opf']))
228
158
f.write(opts_and_exts('lrf2lrs', lrf2lrsop, ['lrf']))
229
f.write(opts_and_exts('lrf-meta', metaop, ['lrf']))
230
f.write(opts_and_exts('rtf-meta', metaop, ['rtf']))
231
f.write(opts_and_exts('pdf-meta', metaop, ['pdf']))
232
f.write(opts_and_exts('lit-meta', metaop, ['lit']))
233
f.write(opts_and_exts('imp-meta', metaop, ['imp']))
234
f.write(opts_and_exts('rb-meta', metaop, ['rb']))
235
f.write(opts_and_exts('opf-meta', metaop, ['opf']))
236
f.write(opts_and_exts('odt-meta', metaop, ['odt', 'ods', 'odf', 'odg', 'odp']))
237
f.write(opts_and_exts('epub-meta', epub_meta, ['epub']))
159
f.write(opts_and_exts('ebook-meta', metaop, list(meta_filetypes())))
238
160
f.write(opts_and_exts('lrfviewer', lrfviewerop, ['lrf']))
239
f.write(opts_and_exts('pdfrelow', pdfhtmlop, ['pdf']))
240
f.write(opts_and_exts('mobi2oeb', mobioeb, ['mobi', 'prc']))
241
f.write(opts_and_exts('lit2oeb', lit2oeb, ['lit']))
242
f.write(opts_and_exts('comic2lrf', comicop, ['cbz', 'cbr']))
243
f.write(opts_and_exts('comic2epub', comic2epub, ['cbz', 'cbr']))
244
f.write(opts_and_exts('comic2mobi', comic2epub, ['cbz', 'cbr']))
245
f.write(opts_and_exts('comic2pdf', comic2epub, ['cbz', 'cbr']))
246
f.write(opts_and_words('feeds2disk', feeds2disk, feed_titles))
247
f.write(opts_and_words('feeds2lrf', feeds2lrf, feed_titles))
248
f.write(opts_and_words('feeds2epub', feeds2epub, feed_titles))
249
f.write(opts_and_words('feeds2mobi', feeds2mobi, feed_titles))
161
f.write(opts_and_words('web2disk', web2disk, feed_titles))
250
162
f.write(opts_and_words('fetch-ebook-metadata', fem_op, []))
251
163
f.write(opts_and_words('calibre-smtp', smtp_op, []))
252
f.write(opts_and_exts('html2epub', html2epub, ['html', 'htm', 'xhtm', 'xhtml', 'opf']))
253
f.write(opts_and_exts('html2oeb', html2oeb, ['html', 'htm', 'xhtm', 'xhtml']))
254
f.write(opts_and_exts('odt2oeb', odt2oeb, ['odt']))
352
262
'''BUS=="usb", SYSFS{idProduct}=="029b", SYSFS{idVendor}=="054c", MODE="660", GROUP="%s"\n'''%(group,)
355
fdi = open_file('/usr/share/hal/fdi/policy/20thirdparty/10-calibre.fdi')
356
manifest.append(fdi.name)
357
fdi.write('<?xml version="1.0" encoding="UTF-8"?>\n\n<deviceinfo version="0.2">\n')
362
<match key="usb_device.vendor_id" int="%(vendor_id)s">
363
<match key="usb_device.product_id" int="%(product_id)s">
364
<match key="usb_device.device_revision_bcd" int="%(bcd)s">
365
<merge key="calibre.deviceclass" type="string">%(cls)s</merge>
370
'''%dict(cls=cls.__name__, vendor_id=cls.VENDOR_ID, product_id=cls.PRODUCT_ID,
371
prog=__appname__, bcd=cls.BCD))
372
fdi.write('\n'+cls.get_fdi())
373
fdi.write('\n</deviceinfo>\n')
377
for hal in ('hald', 'hal', 'haldaemon'):
378
hal = os.path.join('/etc/init.d', hal)
379
if os.access(hal, os.X_OK):
380
call((hal, 'restart'))
383
if not called and os.access('/etc/rc.d/rc.hald', os.X_OK):
384
call(('/etc/rc.d/rc.hald', 'restart'))
387
check_call('udevadm control --reload_rules', shell=True)
390
check_call('udevcontrol reload_rules', shell=True)
393
check_call('/etc/init.d/udev reload', shell=True)
396
raise Exception("Couldn't reload udev, you may have to reboot")
397
print >>sys.stderr, "Couldn't reload udev, you may have to reboot"
400
267
def option_parser():