mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Standalone executable for Tweak Book
This commit is contained in:
parent
b91454d454
commit
a87092ba4f
BIN
icons/ebook-tweak.ico
Normal file
BIN
icons/ebook-tweak.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 66 KiB |
@ -30,6 +30,7 @@ machine = 'X64' if is64bit else 'X86'
|
|||||||
DESCRIPTIONS = {
|
DESCRIPTIONS = {
|
||||||
'calibre' : 'The main calibre program',
|
'calibre' : 'The main calibre program',
|
||||||
'ebook-viewer' : 'Viewer for all e-book formats',
|
'ebook-viewer' : 'Viewer for all e-book formats',
|
||||||
|
'ebook-tweak' : 'Edit e-books',
|
||||||
'lrfviewer' : 'Viewer for LRF files',
|
'lrfviewer' : 'Viewer for LRF files',
|
||||||
'ebook-convert': 'Command line interface to the conversion/news download system',
|
'ebook-convert': 'Command line interface to the conversion/news download system',
|
||||||
'ebook-meta' : 'Command line interface for manipulating e-book metadata',
|
'ebook-meta' : 'Command line interface for manipulating e-book metadata',
|
||||||
@ -334,7 +335,7 @@ class Win32Freeze(Command, WixMixIn):
|
|||||||
def embed_resources(self, module, desc=None, extra_data=None,
|
def embed_resources(self, module, desc=None, extra_data=None,
|
||||||
product_description=None):
|
product_description=None):
|
||||||
icon_base = self.j(self.src_root, 'icons')
|
icon_base = self.j(self.src_root, 'icons')
|
||||||
icon_map = {'calibre':'library', 'ebook-viewer':'viewer',
|
icon_map = {'calibre':'library', 'ebook-viewer':'viewer', 'ebook-tweak':'ebook-tweak',
|
||||||
'lrfviewer':'viewer', 'calibre-portable':'library'}
|
'lrfviewer':'viewer', 'calibre-portable':'library'}
|
||||||
file_type = 'DLL' if module.endswith('.dll') else 'APP'
|
file_type = 'DLL' if module.endswith('.dll') else 'APP'
|
||||||
template = open(self.rc_template, 'rb').read()
|
template = open(self.rc_template, 'rb').read()
|
||||||
|
@ -72,6 +72,10 @@
|
|||||||
Description="Viewer for all the major e-book formats"
|
Description="Viewer for all the major e-book formats"
|
||||||
Target="[#{exe_map[ebook-viewer]}]"
|
Target="[#{exe_map[ebook-viewer]}]"
|
||||||
WorkingDirectory="APPLICATIONROOTDIRECTORY" />
|
WorkingDirectory="APPLICATIONROOTDIRECTORY" />
|
||||||
|
<Shortcut Id="s4" Name="E-book Tweak{x64}"
|
||||||
|
Description="Edit e-books"
|
||||||
|
Target="[#{exe_map[ebook-tweak]}]"
|
||||||
|
WorkingDirectory="APPLICATIONROOTDIRECTORY" />
|
||||||
<Shortcut Id="s3" Name="LRF viewer{x64}"
|
<Shortcut Id="s3" Name="LRF viewer{x64}"
|
||||||
Description="Viewer for LRF format e-books"
|
Description="Viewer for LRF format e-books"
|
||||||
Target="[#{exe_map[lrfviewer]}]"
|
Target="[#{exe_map[lrfviewer]}]"
|
||||||
|
@ -37,6 +37,7 @@ entry_points = {
|
|||||||
__appname__+' = calibre.gui2.main:main',
|
__appname__+' = calibre.gui2.main:main',
|
||||||
'lrfviewer = calibre.gui2.lrf_renderer.main:main',
|
'lrfviewer = calibre.gui2.lrf_renderer.main:main',
|
||||||
'ebook-viewer = calibre.gui2.viewer.main:main',
|
'ebook-viewer = calibre.gui2.viewer.main:main',
|
||||||
|
'ebook-tweak = calibre.gui2.tweak_book.main:main',
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -492,6 +493,7 @@ class PostInstall:
|
|||||||
from calibre.ebooks.lrf.lrfparser import option_parser as lrf2lrsop
|
from calibre.ebooks.lrf.lrfparser import option_parser as lrf2lrsop
|
||||||
from calibre.gui2.lrf_renderer.main import option_parser as lrfviewerop
|
from calibre.gui2.lrf_renderer.main import option_parser as lrfviewerop
|
||||||
from calibre.gui2.viewer.main import option_parser as viewer_op
|
from calibre.gui2.viewer.main import option_parser as viewer_op
|
||||||
|
from calibre.gui2.tweak_book.main import option_parser as tweak_op
|
||||||
from calibre.ebooks.metadata.sources.cli import option_parser as fem_op
|
from calibre.ebooks.metadata.sources.cli import option_parser as fem_op
|
||||||
from calibre.gui2.main import option_parser as guiop
|
from calibre.gui2.main import option_parser as guiop
|
||||||
from calibre.utils.smtp import option_parser as smtp_op
|
from calibre.utils.smtp import option_parser as smtp_op
|
||||||
@ -501,6 +503,7 @@ class PostInstall:
|
|||||||
from calibre.ebooks import BOOK_EXTENSIONS
|
from calibre.ebooks import BOOK_EXTENSIONS
|
||||||
from calibre.customize.ui import available_input_formats
|
from calibre.customize.ui import available_input_formats
|
||||||
input_formats = sorted(all_input_formats())
|
input_formats = sorted(all_input_formats())
|
||||||
|
tweak_formats = sorted(x.lower() for x in SUPPORTED)
|
||||||
zsh = ZshCompleter(self.opts)
|
zsh = ZshCompleter(self.opts)
|
||||||
bc = os.path.join(os.path.dirname(self.opts.staging_sharedir),
|
bc = os.path.join(os.path.dirname(self.opts.staging_sharedir),
|
||||||
'bash-completion')
|
'bash-completion')
|
||||||
@ -541,6 +544,7 @@ class PostInstall:
|
|||||||
opf_opts=['--opf', '-o'])
|
opf_opts=['--opf', '-o'])
|
||||||
o_and_e('lrfviewer', lrfviewerop, ['lrf'])
|
o_and_e('lrfviewer', lrfviewerop, ['lrf'])
|
||||||
o_and_e('ebook-viewer', viewer_op, input_formats)
|
o_and_e('ebook-viewer', viewer_op, input_formats)
|
||||||
|
o_and_e('ebook-tweak', tweak_op, tweak_formats)
|
||||||
o_and_w('fetch-ebook-metadata', fem_op, [])
|
o_and_w('fetch-ebook-metadata', fem_op, [])
|
||||||
o_and_w('calibre-smtp', smtp_op, [])
|
o_and_w('calibre-smtp', smtp_op, [])
|
||||||
o_and_w('calibre-server', serv_op, [])
|
o_and_w('calibre-server', serv_op, [])
|
||||||
@ -677,6 +681,9 @@ class PostInstall:
|
|||||||
render_img('viewer.png', 'calibre-viewer.png')
|
render_img('viewer.png', 'calibre-viewer.png')
|
||||||
cc('xdg-icon-resource install --size 128 calibre-viewer.png calibre-viewer', shell=True)
|
cc('xdg-icon-resource install --size 128 calibre-viewer.png calibre-viewer', shell=True)
|
||||||
self.icon_resources.append(('apps', 'calibre-viewer', '128'))
|
self.icon_resources.append(('apps', 'calibre-viewer', '128'))
|
||||||
|
render_img('tweak.png', 'calibre-ebook-tweak.png')
|
||||||
|
cc('xdg-icon-resource install --size 128 calibre-ebook-tweak.png calibre-ebook-tweak', shell=True)
|
||||||
|
self.icon_resources.append(('apps', 'calibre-ebook-tweak', '128'))
|
||||||
|
|
||||||
mimetypes = set([])
|
mimetypes = set([])
|
||||||
for x in all_input_formats():
|
for x in all_input_formats():
|
||||||
@ -687,19 +694,24 @@ class PostInstall:
|
|||||||
def write_mimetypes(f):
|
def write_mimetypes(f):
|
||||||
f.write('MimeType=%s;\n'%';'.join(mimetypes))
|
f.write('MimeType=%s;\n'%';'.join(mimetypes))
|
||||||
|
|
||||||
|
from calibre.ebooks.oeb.polish.main import SUPPORTED
|
||||||
f = open('calibre-lrfviewer.desktop', 'wb')
|
f = open('calibre-lrfviewer.desktop', 'wb')
|
||||||
f.write(VIEWER)
|
f.write(VIEWER)
|
||||||
f.close()
|
f.close()
|
||||||
f = open('calibre-ebook-viewer.desktop', 'wb')
|
f = open('calibre-ebook-viewer.desktop', 'wb')
|
||||||
f.write(EVIEWER)
|
f.write(EVIEWER)
|
||||||
write_mimetypes(f)
|
write_mimetypes(f)
|
||||||
|
f = open('calibre-ebook-tweak.desktop', 'wb')
|
||||||
|
f.write(ETWEAK)
|
||||||
|
mt = [guess_type('a.' + x.lower())[0] for x in SUPPORTED]
|
||||||
|
f.write('MimeType=%s;\n'%';'.join(mt))
|
||||||
f.close()
|
f.close()
|
||||||
f = open('calibre-gui.desktop', 'wb')
|
f = open('calibre-gui.desktop', 'wb')
|
||||||
f.write(GUI)
|
f.write(GUI)
|
||||||
write_mimetypes(f)
|
write_mimetypes(f)
|
||||||
f.close()
|
f.close()
|
||||||
des = ('calibre-gui.desktop', 'calibre-lrfviewer.desktop',
|
des = ('calibre-gui.desktop', 'calibre-lrfviewer.desktop',
|
||||||
'calibre-ebook-viewer.desktop')
|
'calibre-ebook-viewer.desktop', 'calibre-ebook-tweak.desktop')
|
||||||
for x in des:
|
for x in des:
|
||||||
cmd = ['xdg-desktop-menu', 'install', '--noupdate', './'+x]
|
cmd = ['xdg-desktop-menu', 'install', '--noupdate', './'+x]
|
||||||
cc(' '.join(cmd), shell=True)
|
cc(' '.join(cmd), shell=True)
|
||||||
@ -852,6 +864,18 @@ Icon=calibre-viewer
|
|||||||
Categories=Graphics;Viewer;
|
Categories=Graphics;Viewer;
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
ETWEAK = '''\
|
||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Type=Application
|
||||||
|
Name=E-book Tweak
|
||||||
|
GenericName=Edit E-books
|
||||||
|
Comment=Edit e-books in various formats
|
||||||
|
TryExec=ebook-tweak
|
||||||
|
Exec=ebook-tweak %f
|
||||||
|
Icon=calibre-ebook-tweak
|
||||||
|
Categories=Office;
|
||||||
|
'''
|
||||||
|
|
||||||
GUI = '''\
|
GUI = '''\
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user