Updates for py2exe linking
Relative paths weren't relative enough
This commit is contained in:
parent
4f67ca3c34
commit
bb66815f4f
@ -1,7 +1,7 @@
|
|||||||
# Mangle 3
|
# Mangle 3
|
||||||
Mangle exports comics, manga and other image files into a format that all Kindles can read. Mangle can also resize your images to render faster on your Kindle.
|
Mangle exports comics, manga and other image files into a format that all Kindles can read. Mangle can also resize your images to render faster on your Kindle.
|
||||||
|
|
||||||
## Requirements
|
## For Developers
|
||||||
- [Python 2.7](http://www.python.org/download/releases/2.7/)
|
- [Python 2.7](http://www.python.org/download/releases/2.7/)
|
||||||
- [Python Image Library (PIL)](http://www.pythonware.com/products/pil/)
|
- [Python Image Library (PIL)](http://www.pythonware.com/products/pil/)
|
||||||
- [PyQT4](http://www.riverbankcomputing.com/software/pyqt/download)
|
- [PyQT4](http://www.riverbankcomputing.com/software/pyqt/download)
|
||||||
|
@ -22,4 +22,4 @@ from PyQt4 import QtGui, uic
|
|||||||
class DialogAbout(QtGui.QDialog):
|
class DialogAbout(QtGui.QDialog):
|
||||||
def __init__(self, parent):
|
def __init__(self, parent):
|
||||||
QtGui.QDialog.__init__(self, parent)
|
QtGui.QDialog.__init__(self, parent)
|
||||||
uic.loadUi(util.buildResPath('ui/about.ui'), self)
|
uic.loadUi(util.buildResPath('mangle/ui/about.ui'), self)
|
||||||
|
@ -29,7 +29,7 @@ from natsort import natsorted
|
|||||||
|
|
||||||
|
|
||||||
class Book(object):
|
class Book(object):
|
||||||
DefaultDevice = 'Kindle 4'
|
DefaultDevice = 'Kindle Paperwhite'
|
||||||
DefaultOutputFormat = 'PDF only'
|
DefaultOutputFormat = 'PDF only'
|
||||||
DefaultOverwrite = True
|
DefaultOverwrite = True
|
||||||
DefaultImageFlags = ImageFlags.Orient | ImageFlags.Resize | ImageFlags.Quantize
|
DefaultImageFlags = ImageFlags.Orient | ImageFlags.Resize | ImageFlags.Quantize
|
||||||
@ -40,6 +40,7 @@ class Book(object):
|
|||||||
self.filename = None
|
self.filename = None
|
||||||
self.modified = False
|
self.modified = False
|
||||||
self.title = None
|
self.title = None
|
||||||
|
self.titleSet = False
|
||||||
self.device = Book.DefaultDevice
|
self.device = Book.DefaultDevice
|
||||||
self.overwrite = Book.DefaultOverwrite
|
self.overwrite = Book.DefaultOverwrite
|
||||||
self.imageFlags = Book.DefaultImageFlags
|
self.imageFlags = Book.DefaultImageFlags
|
||||||
@ -116,7 +117,7 @@ class MainWindowBook(QtGui.QMainWindow):
|
|||||||
def __init__(self, filename=None):
|
def __init__(self, filename=None):
|
||||||
QtGui.QMainWindow.__init__(self)
|
QtGui.QMainWindow.__init__(self)
|
||||||
|
|
||||||
uic.loadUi(util.buildResPath('ui/book.ui'), self)
|
uic.loadUi(util.buildResPath('mangle/ui/book.ui'), self)
|
||||||
self.listWidgetFiles.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
|
self.listWidgetFiles.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
|
||||||
self.actionFileNew.triggered.connect(self.onFileNew)
|
self.actionFileNew.triggered.connect(self.onFileNew)
|
||||||
self.actionFileOpen.triggered.connect(self.onFileOpen)
|
self.actionFileOpen.triggered.connect(self.onFileOpen)
|
||||||
@ -240,7 +241,8 @@ class MainWindowBook(QtGui.QMainWindow):
|
|||||||
|
|
||||||
def onBookOptions(self):
|
def onBookOptions(self):
|
||||||
dialog = DialogOptions(self, self.book)
|
dialog = DialogOptions(self, self.book)
|
||||||
dialog.exec_()
|
if dialog.exec_() == QtGui.QDialog.Accepted:
|
||||||
|
self.book.titleSet = True
|
||||||
|
|
||||||
|
|
||||||
def onBookExport(self):
|
def onBookExport(self):
|
||||||
@ -248,10 +250,12 @@ class MainWindowBook(QtGui.QMainWindow):
|
|||||||
QtGui.QMessageBox.warning(self, 'Mangle', 'This book has no images to export')
|
QtGui.QMessageBox.warning(self, 'Mangle', 'This book has no images to export')
|
||||||
return
|
return
|
||||||
|
|
||||||
if self.book.title is None:
|
if not self.book.titleSet: # if self.book.title is None:
|
||||||
dialog = DialogOptions(self, self.book)
|
dialog = DialogOptions(self, self.book)
|
||||||
if dialog.exec_() == QtGui.QDialog.Rejected:
|
if dialog.exec_() == QtGui.QDialog.Rejected:
|
||||||
return
|
return
|
||||||
|
else:
|
||||||
|
self.book.titleSet = True
|
||||||
|
|
||||||
directory = QtGui.QFileDialog.getExistingDirectory(self, 'Select a directory to export book to')
|
directory = QtGui.QFileDialog.getExistingDirectory(self, 'Select a directory to export book to')
|
||||||
if not directory.isNull():
|
if not directory.isNull():
|
||||||
@ -261,7 +265,7 @@ class MainWindowBook(QtGui.QMainWindow):
|
|||||||
|
|
||||||
def onHelpHomepage(self):
|
def onHelpHomepage(self):
|
||||||
services = QtGui.QDesktopServices()
|
services = QtGui.QDesktopServices()
|
||||||
services.openUrl(QtCore.QUrl('http://foosoft.net/mangle'))
|
services.openUrl(QtCore.QUrl('https://github.com/catmanjan/mangle'))
|
||||||
|
|
||||||
|
|
||||||
def onHelpAbout(self):
|
def onHelpAbout(self):
|
||||||
|
@ -24,7 +24,7 @@ class DialogOptions(QtGui.QDialog):
|
|||||||
def __init__(self, parent, book):
|
def __init__(self, parent, book):
|
||||||
QtGui.QDialog.__init__(self, parent)
|
QtGui.QDialog.__init__(self, parent)
|
||||||
|
|
||||||
uic.loadUi(util.buildResPath('ui/options.ui'), self)
|
uic.loadUi(util.buildResPath('mangle/ui/options.ui'), self)
|
||||||
self.accepted.connect(self.onAccept)
|
self.accepted.connect(self.onAccept)
|
||||||
|
|
||||||
self.book = book
|
self.book = book
|
||||||
|
@ -49,9 +49,9 @@
|
|||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
|
</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:14pt;">Mangle</span></p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:14pt;">Mangle</span></p>
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans';">Version 2.3</span></p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans';">Version 3</span></p>
|
||||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';"></p>
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';"></p>
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans';">Manga processor by Alex Yatskov for the Kindle e-book reader. Please see </span><span style=" font-family:'Sans'; font-style:italic;">license.txt</span><span style=" font-family:'Sans';"> for licensing information. Visit the homepage at </span><a href="http://foosoft.net/mangle"><span style=" font-family:'Sans'; text-decoration: underline; color:#0000ff;">http://foosoft.net/mangle</span></a><span style=" font-family:'Sans';">.</span></p></body></html></string>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans';">Manga processor for the Kindle e-book reader. Please see </span><span style=" font-family:'Sans'; font-style:italic;">license.txt</span><span style=" font-family:'Sans';"> for licensing information. Visit the homepage at </span><a href="https://github.com/catmanjan/mangle"><span style=" font-family:'Sans'; text-decoration: underline; color:#0000ff;">https://github.com/catmanjan/mangle</span></a><span style=" font-family:'Sans';">.</span></p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
<property name="wordWrap">
|
<property name="wordWrap">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
|
@ -16,8 +16,9 @@
|
|||||||
|
|
||||||
import os.path
|
import os.path
|
||||||
import re
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
def buildResPath(relative):
|
def buildResPath(relative):
|
||||||
directory = os.path.dirname(__file__)
|
directory = os.path.dirname(os.path.realpath(sys.argv[0]))
|
||||||
return os.path.join(directory, relative)
|
return os.path.join(directory, relative)
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 3.7 KiB |
28
setup.py
28
setup.py
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
# Copyright (C) 2010 Alex Yatskov
|
# Copyright (C) 2013 Jan Martin
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -23,7 +23,27 @@ import py2exe
|
|||||||
|
|
||||||
sys.argv.append('py2exe')
|
sys.argv.append('py2exe')
|
||||||
setup(
|
setup(
|
||||||
windows=[{'script': 'mangle.pyw'}],
|
name = 'Mangle',
|
||||||
options={'py2exe': {'bundle_files': 1, 'includes': ['sip']}},
|
windows = [{'script': 'mangle.pyw'}],
|
||||||
zipfile=None
|
data_files = [('', ['LICENSE']),
|
||||||
|
('mangle/ui', ['mangle/ui/book.ui',
|
||||||
|
'mangle/ui/about.ui',
|
||||||
|
'mangle/ui/options.ui']),
|
||||||
|
('mangle/img', ['mangle/img/add_directory.png',
|
||||||
|
'mangle/img/add_file.png',
|
||||||
|
'mangle/img/banner_about.png',
|
||||||
|
'mangle/img/export_book.png',
|
||||||
|
'mangle/img/file_new.png',
|
||||||
|
'mangle/img/file_open.png',
|
||||||
|
'mangle/img/remove_files.png',
|
||||||
|
'mangle/img/save_file.png',
|
||||||
|
'mangle/img/shift_down.png',
|
||||||
|
'mangle/img/shift_up.png'])],
|
||||||
|
options = {'py2exe': {
|
||||||
|
'bundle_files': 1,
|
||||||
|
'includes': ['sip'],
|
||||||
|
'packages': ['reportlab.pdfbase'],
|
||||||
|
'dll_excludes': ['w9xpopen.exe']
|
||||||
|
}},
|
||||||
|
zipfile = None
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user