mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Sync to trunk.
This commit is contained in:
commit
316ced8847
@ -18,7 +18,9 @@ class TXTInput(InputFormatPlugin):
|
|||||||
|
|
||||||
options = set([
|
options = set([
|
||||||
OptionRecommendation(name='single_line_paras', recommended_value=False,
|
OptionRecommendation(name='single_line_paras', recommended_value=False,
|
||||||
help=_('Each line is a paragraph.')),
|
help=_('Normally calibre treats blank lines as paragraph markers. '
|
||||||
|
'With this option it will assume that every line represents '
|
||||||
|
'a paragraph instead.')),
|
||||||
])
|
])
|
||||||
|
|
||||||
def convert(self, stream, options, file_ext, log,
|
def convert(self, stream, options, file_ext, log,
|
||||||
|
@ -9,7 +9,7 @@ from PyQt4.QtGui import QFileDialog, QMessageBox, QPixmap, QFileIconProvider, \
|
|||||||
|
|
||||||
ORG_NAME = 'KovidsBrain'
|
ORG_NAME = 'KovidsBrain'
|
||||||
APP_UID = 'libprs500'
|
APP_UID = 'libprs500'
|
||||||
from calibre import islinux, iswindows
|
from calibre import islinux, iswindows, isosx
|
||||||
from calibre.startup import get_lang
|
from calibre.startup import get_lang
|
||||||
from calibre.utils.config import Config, ConfigProxy, dynamic
|
from calibre.utils.config import Config, ConfigProxy, dynamic
|
||||||
import calibre.resources as resources
|
import calibre.resources as resources
|
||||||
@ -110,7 +110,7 @@ class CopyButton(QPushButton):
|
|||||||
def copied(self):
|
def copied(self):
|
||||||
self.emit(SIGNAL('copy()'))
|
self.emit(SIGNAL('copy()'))
|
||||||
self.setDisabled(True)
|
self.setDisabled(True)
|
||||||
self.setText(_('Copied to clipboard'))
|
self.setText(_('Copied'))
|
||||||
|
|
||||||
|
|
||||||
def keyPressEvent(self, ev):
|
def keyPressEvent(self, ev):
|
||||||
@ -139,7 +139,7 @@ class MessageBox(QMessageBox):
|
|||||||
self.det_msg = det_msg
|
self.det_msg = det_msg
|
||||||
self.setDetailedText(det_msg)
|
self.setDetailedText(det_msg)
|
||||||
# Cannot set keyboard shortcut as the event is not easy to filter
|
# Cannot set keyboard shortcut as the event is not easy to filter
|
||||||
self.cb = CopyButton(_('Copy to Clipboard'))
|
self.cb = CopyButton(_('Copy') if isosx else _('Copy to Clipboard'))
|
||||||
self.connect(self.cb, SIGNAL('copy()'), self.copy_to_clipboard)
|
self.connect(self.cb, SIGNAL('copy()'), self.copy_to_clipboard)
|
||||||
self.addButton(self.cb, QMessageBox.ActionRole)
|
self.addButton(self.cb, QMessageBox.ActionRole)
|
||||||
default_button = self.button(self.Ok)
|
default_button = self.button(self.Ok)
|
||||||
@ -158,6 +158,7 @@ class MessageBox(QMessageBox):
|
|||||||
def warning_dialog(parent, title, msg, det_msg='', show=False):
|
def warning_dialog(parent, title, msg, det_msg='', show=False):
|
||||||
d = MessageBox(QMessageBox.Warning, 'WARNING: '+title, msg, QMessageBox.Ok,
|
d = MessageBox(QMessageBox.Warning, 'WARNING: '+title, msg, QMessageBox.Ok,
|
||||||
parent, det_msg)
|
parent, det_msg)
|
||||||
|
d.setEscapeButton(QMessageBox.Ok)
|
||||||
d.setIconPixmap(QPixmap(':/images/dialog_warning.svg'))
|
d.setIconPixmap(QPixmap(':/images/dialog_warning.svg'))
|
||||||
if show:
|
if show:
|
||||||
return d.exec_()
|
return d.exec_()
|
||||||
@ -167,6 +168,7 @@ def error_dialog(parent, title, msg, det_msg='', show=False):
|
|||||||
d = MessageBox(QMessageBox.Critical, 'ERROR: '+title, msg, QMessageBox.Ok,
|
d = MessageBox(QMessageBox.Critical, 'ERROR: '+title, msg, QMessageBox.Ok,
|
||||||
parent, det_msg)
|
parent, det_msg)
|
||||||
d.setIconPixmap(QPixmap(':/images/dialog_error.svg'))
|
d.setIconPixmap(QPixmap(':/images/dialog_error.svg'))
|
||||||
|
d.setEscapeButton(QMessageBox.Ok)
|
||||||
if show:
|
if show:
|
||||||
return d.exec_()
|
return d.exec_()
|
||||||
return d
|
return d
|
||||||
@ -175,6 +177,7 @@ def question_dialog(parent, title, msg, det_msg=''):
|
|||||||
d = MessageBox(QMessageBox.Question, title, msg, QMessageBox.Yes|QMessageBox.No,
|
d = MessageBox(QMessageBox.Question, title, msg, QMessageBox.Yes|QMessageBox.No,
|
||||||
parent, det_msg)
|
parent, det_msg)
|
||||||
d.setIconPixmap(QPixmap(':/images/dialog_information.svg'))
|
d.setIconPixmap(QPixmap(':/images/dialog_information.svg'))
|
||||||
|
d.setEscapeButton(QMessageBox.No)
|
||||||
return d.exec_() == QMessageBox.Yes
|
return d.exec_() == QMessageBox.Yes
|
||||||
|
|
||||||
def info_dialog(parent, title, msg, det_msg='', show=False):
|
def info_dialog(parent, title, msg, det_msg='', show=False):
|
||||||
|
@ -13,7 +13,7 @@ class PluginWidget(Widget, Ui_Form):
|
|||||||
HELP = _('Options specific to')+' TXT '+_('input')
|
HELP = _('Options specific to')+' TXT '+_('input')
|
||||||
|
|
||||||
def __init__(self, parent, get_option, get_help, db=None, book_id=None):
|
def __init__(self, parent, get_option, get_help, db=None, book_id=None):
|
||||||
Widget.__init__(self, parent, 'pdf_input',
|
Widget.__init__(self, parent, 'txt_input',
|
||||||
['single_line_paras'])
|
['single_line_paras'])
|
||||||
self.db, self.book_id = db, book_id
|
self.db, self.book_id = db, book_id
|
||||||
self.initialize_options(get_option, get_help, db, book_id)
|
self.initialize_options(get_option, get_help, db, book_id)
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QCheckBox" name="opt_single_line_paras">
|
<widget class="QCheckBox" name="opt_single_line_paras">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Single Line Paragraphs</string>
|
<string>Treat each &line as a paragraph</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -166,7 +166,8 @@ class PluginModel(QAbstractItemModel):
|
|||||||
if index.internalId() == 0:
|
if index.internalId() == 0:
|
||||||
if role == Qt.DisplayRole:
|
if role == Qt.DisplayRole:
|
||||||
category = self.categories[index.row()]
|
category = self.categories[index.row()]
|
||||||
return QVariant(category + _(' plugins'))
|
return QVariant(_("%(plugin_type)s %(plugins)s")%\
|
||||||
|
dict(plugin_type=category, plugins=_('plugins')))
|
||||||
else:
|
else:
|
||||||
plugin = self.index_to_plugin(index)
|
plugin = self.index_to_plugin(index)
|
||||||
if role == Qt.DisplayRole:
|
if role == Qt.DisplayRole:
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>Form</class>
|
<class>Form</class>
|
||||||
<widget class="QWidget" name="Form">
|
<widget class="QWidget" name="Form">
|
||||||
@ -16,13 +17,13 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label">
|
<widget class="QLabel" name="label">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
||||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set a regular expression pattern to use when trying to guess ebook metadata from filenames. </p>
|
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set a regular expression pattern to use when trying to guess ebook metadata from filenames. </p>
|
||||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">A <a href="http://docs.python.org/lib/re-syntax.html"><span style=" text-decoration: underline; color:#0000ff;">reference</span></a> on the syntax of regular expressions is available.</p>
|
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">A <a href="http://docs.python.org/lib/re-syntax.html"><span style=" text-decoration: underline; color:#0000ee;">reference</span></a> on the syntax of regular expressions is available.</p>
|
||||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Use the <span style=" font-weight:600;">Test</span> functionality below to test your regular expression on a few sample filenames. The group names for the various metadata entries are documented in tooltips.</p></body></html></string>
|
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Use the <span style=" font-weight:600;">Test</span> functionality below to test your regular expression on a few sample filenames. The group names for the various metadata entries are documented in tooltips.</p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
<property name="textFormat">
|
<property name="textFormat">
|
||||||
<enum>Qt::RichText</enum>
|
<enum>Qt::RichText</enum>
|
||||||
@ -113,7 +114,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<item row="1" column="1" colspan="2">
|
<item row="1" column="1" colspan="2">
|
||||||
<widget class="QLineEdit" name="authors">
|
<widget class="QLineEdit" name="authors">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Regular expression (?P<author>)</string>
|
<string>Regular expression (?P<author>)</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>No match</string>
|
<string>No match</string>
|
||||||
@ -133,7 +134,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<item row="2" column="1" colspan="2">
|
<item row="2" column="1" colspan="2">
|
||||||
<widget class="QLineEdit" name="series">
|
<widget class="QLineEdit" name="series">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Regular expression (?P<series>)</string>
|
<string>Regular expression (?P<series>)</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>No match</string>
|
<string>No match</string>
|
||||||
@ -143,17 +144,17 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item rowspan="2" row="3" column="0" >
|
<item row="3" column="0" rowspan="2">
|
||||||
<widget class="QLabel" name="label_6">
|
<widget class="QLabel" name="label_6">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Series index:</string>
|
<string>Series index:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item rowspan="2" row="3" column="1" colspan="2" >
|
<item row="3" column="1" rowspan="2" colspan="2">
|
||||||
<widget class="QLineEdit" name="series_index">
|
<widget class="QLineEdit" name="series_index">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Regular expression (?P<series_index>)</string>
|
<string>Regular expression (?P<series_index>)</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>No match</string>
|
<string>No match</string>
|
||||||
@ -173,7 +174,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<item row="5" column="1">
|
<item row="5" column="1">
|
||||||
<widget class="QLineEdit" name="isbn">
|
<widget class="QLineEdit" name="isbn">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Regular expression (?P<isbn>)</string>
|
<string>Regular expression (?P<isbn>)</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>No match</string>
|
<string>No match</string>
|
||||||
|
@ -1788,7 +1788,7 @@ def init_qt(args):
|
|||||||
parser = option_parser()
|
parser = option_parser()
|
||||||
opts, args = parser.parse_args(args)
|
opts, args = parser.parse_args(args)
|
||||||
if opts.with_library is not None and os.path.isdir(opts.with_library):
|
if opts.with_library is not None and os.path.isdir(opts.with_library):
|
||||||
prefs.set('library_path', opts.with_library)
|
prefs.set('library_path', os.path.abspath(opts.with_library))
|
||||||
print 'Using library at', prefs['library_path']
|
print 'Using library at', prefs['library_path']
|
||||||
app = Application(args)
|
app = Application(args)
|
||||||
actions = tuple(Main.create_application_menubar())
|
actions = tuple(Main.create_application_menubar())
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -13,7 +13,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
"Generated-By: pygettext.py 1.5\n"
|
"Generated-By: pygettext.py 1.5\n"
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
"Generated-By: pygettext.py 1.5\n"
|
"Generated-By: pygettext.py 1.5\n"
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
"Generated-By: pygettext.py 1.5\n"
|
"Generated-By: pygettext.py 1.5\n"
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -8,13 +8,13 @@ msgstr ""
|
|||||||
"Project-Id-Version: calibre\n"
|
"Project-Id-Version: calibre\n"
|
||||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"POT-Creation-Date: 2009-08-03 21:27+0000\n"
|
"POT-Creation-Date: 2009-08-03 21:27+0000\n"
|
||||||
"PO-Revision-Date: 2009-08-06 19:22+0000\n"
|
"PO-Revision-Date: 2009-08-09 18:40+0000\n"
|
||||||
"Last-Translator: Laszlo Tamas <Unknown>\n"
|
"Last-Translator: Devilinside <Unknown>\n"
|
||||||
"Language-Team: Hungarian <hu@li.org>\n"
|
"Language-Team: Hungarian <hu@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
@ -730,7 +730,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:96
|
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:96
|
||||||
msgid "INPUT OPTIONS"
|
msgid "INPUT OPTIONS"
|
||||||
msgstr ""
|
msgstr "BEMENET OPCIÓK"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:97
|
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:97
|
||||||
msgid "Options to control the processing of the input %s file"
|
msgid "Options to control the processing of the input %s file"
|
||||||
@ -738,7 +738,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:103
|
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:103
|
||||||
msgid "OUTPUT OPTIONS"
|
msgid "OUTPUT OPTIONS"
|
||||||
msgstr ""
|
msgstr "KIMENET OPCIÓK"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:104
|
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:104
|
||||||
msgid "Options to control the processing of the output %s"
|
msgid "Options to control the processing of the output %s"
|
||||||
@ -1053,6 +1053,9 @@ msgid ""
|
|||||||
"Attempt to detect and correct hard line breaks and other problems in the "
|
"Attempt to detect and correct hard line breaks and other problems in the "
|
||||||
"source file. This may make things worse, so use with care."
|
"source file. This may make things worse, so use with care."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Megkísérli felismerni és korrigálni a szükségtelen sortöréseket és más "
|
||||||
|
"problémákat a forrásfájlban. Az eredmény azonban akár a vártnál rosszabb is "
|
||||||
|
"lehet, úgyhogy óvatosan használd."
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:320
|
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:320
|
||||||
msgid "Use a regular expression to try and remove the header."
|
msgid "Use a regular expression to try and remove the header."
|
||||||
@ -1661,7 +1664,7 @@ msgstr "Könyv kategória megadása."
|
|||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:74
|
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:74
|
||||||
msgid "Get the cover from the ebook and save it at as the specified file."
|
msgid "Get the cover from the ebook and save it at as the specified file."
|
||||||
msgstr ""
|
msgstr "A könyvborító mentése az ebookból egy megadott fájlba."
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:77
|
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:77
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -2361,7 +2364,7 @@ msgstr "Képregény bemenet"
|
|||||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:18
|
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:18
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:17
|
#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:17
|
||||||
msgid "Options specific to"
|
msgid "Options specific to"
|
||||||
msgstr ""
|
msgstr "Beállítás:"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:16
|
#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:16
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:13
|
#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:13
|
||||||
@ -2554,7 +2557,7 @@ msgstr "Széles képek automatikus forgatásának engedélyezése"
|
|||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:117
|
#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:117
|
||||||
msgid "&Wordspace:"
|
msgid "&Wordspace:"
|
||||||
msgstr ""
|
msgstr "Szavak közötti távolság:"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:119
|
#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:119
|
||||||
msgid "Minimum para. &indent:"
|
msgid "Minimum para. &indent:"
|
||||||
@ -2874,7 +2877,7 @@ msgstr "Konvertálás"
|
|||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:161
|
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:161
|
||||||
msgid "Options specific to the input format."
|
msgid "Options specific to the input format."
|
||||||
msgstr ""
|
msgstr "A bemeneti formátumnak megfelelő beállítások"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:105
|
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:105
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61
|
||||||
@ -2990,7 +2993,7 @@ msgstr "Tartalomjegyzék"
|
|||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:18
|
#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:18
|
||||||
msgid "Control the creation/conversion of the Table of Contents."
|
msgid "Control the creation/conversion of the Table of Contents."
|
||||||
msgstr ""
|
msgstr "A Tartalomjegyzék készítésének beállításai"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:29
|
#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:29
|
||||||
msgid "Level &1 TOC (XPath expression):"
|
msgid "Level &1 TOC (XPath expression):"
|
||||||
@ -3122,6 +3125,13 @@ msgid ""
|
|||||||
"href=\"http://calibre.kovidgoyal.net/user_manual/xpath.html\">XPath "
|
"href=\"http://calibre.kovidgoyal.net/user_manual/xpath.html\">XPath "
|
||||||
"Tutorial</a>."
|
"Tutorial</a>."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"<p>Például minden 'h2' tag kiválasztásához, amelyik 'class' értéke 'chapter' "
|
||||||
|
"add meg tag-ként a <i>h2</i>-t, attribútumként a <i>class</i>-ot és "
|
||||||
|
"értékként <i>chapter</i>-t.</p><p>Üresen hagyott attribútum=bármilyen "
|
||||||
|
"attribútum és üresen hagyott érték=bármilyen értk. Minden tag-hoz add meg a "
|
||||||
|
"'*'-ot.</p><p>További információk az XPath használatához elérhetőek az <a "
|
||||||
|
"href=\"http://calibre.kovidgoyal.net/user_manual/xpath.html\">XPath "
|
||||||
|
"Tutorial</a>-ban."
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:39
|
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:39
|
||||||
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:123
|
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:123
|
||||||
@ -3264,6 +3274,8 @@ msgstr "Nincs megfeleő formátum"
|
|||||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:595
|
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:595
|
||||||
msgid "Auto convert the following books before sending via email?"
|
msgid "Auto convert the following books before sending via email?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Az email-ben való elküldés előtt automatikusan konvertáljam a kijelölt "
|
||||||
|
"könyveket?"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:602
|
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:602
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -3731,7 +3743,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:535
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:535
|
||||||
msgid "Free unused diskspace from the database"
|
msgid "Free unused diskspace from the database"
|
||||||
msgstr ""
|
msgstr "Lemezterület felszabadítása"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:536
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:536
|
||||||
msgid "&Compact database"
|
msgid "&Compact database"
|
||||||
@ -3909,7 +3921,7 @@ msgstr "Nem találhatók metaadatok"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"No metadata found, try adjusting the title and author or the ISBN key."
|
"No metadata found, try adjusting the title and author or the ISBN key."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Nem találhat metaadat, próbáld meg finomítani a könyvcímet, szerzőt vagy az "
|
"Nem található metaadat, próbáld meg finomítani a könyvcímet, szerzőt vagy az "
|
||||||
"ISBN-t."
|
"ISBN-t."
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:78
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:78
|
||||||
@ -6049,6 +6061,8 @@ msgstr "/Ismeretlen"
|
|||||||
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213
|
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213
|
||||||
msgid "Go to a reference. To get reference numbers, use the reference mode."
|
msgid "Go to a reference. To get reference numbers, use the reference mode."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Ugrás egy referenciára. A referencia számok használatához be kell kapcsolnod "
|
||||||
|
"a Referencia Módot"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219
|
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219
|
||||||
msgid "Search for text in book"
|
msgid "Search for text in book"
|
||||||
@ -6262,6 +6276,9 @@ msgid ""
|
|||||||
"your calibre book collection directly on the device. To do this you have to "
|
"your calibre book collection directly on the device. To do this you have to "
|
||||||
"turn on the content server."
|
"turn on the content server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Ha Androidos telefonodon a WordPlayer ebook olvasó programot használod, "
|
||||||
|
"akkor calibre adatbázisod hálózaton keresztül is elérhető lesz, ha "
|
||||||
|
"bekapcsolod a tartalomkiszolgálót."
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:283
|
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:283
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -6276,6 +6293,9 @@ msgid ""
|
|||||||
"WordPlayer. Here myhostname should be the fully qualified hostname or the IP "
|
"WordPlayer. Here myhostname should be the fully qualified hostname or the IP "
|
||||||
"address of the computer calibre is running on."
|
"address of the computer calibre is running on."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Hozzá kell adnod a 'http://myhostname:8080' URL-t, mint a calibre adatbázist "
|
||||||
|
"a WordPlayerben. A 'myhostname' helyére a calibre-t futtató számítógép "
|
||||||
|
"teljes neve, vagy IP címe kerüljön."
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:362
|
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:362
|
||||||
msgid "Moving library..."
|
msgid "Moving library..."
|
||||||
@ -6688,6 +6708,7 @@ msgid ""
|
|||||||
"Assume that each directory has only a single logical book and that all files "
|
"Assume that each directory has only a single logical book and that all files "
|
||||||
"in it are different e-book formats of that book"
|
"in it are different e-book formats of that book"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Feltéve, hogy minden mappa egy köny kölönböző formátumait tartalmazza"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/library/cli.py:332
|
#: /home/kovid/work/calibre/src/calibre/library/cli.py:332
|
||||||
msgid "Process directories recursively"
|
msgid "Process directories recursively"
|
||||||
|
@ -15,7 +15,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
"Generated-By: pygettext.py 1.5\n"
|
"Generated-By: pygettext.py 1.5\n"
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
"Generated-By: pygettext.py 1.5\n"
|
"Generated-By: pygettext.py 1.5\n"
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -13,7 +13,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
"X-Poedit-Country: RUSSIAN FEDERATION\n"
|
"X-Poedit-Country: RUSSIAN FEDERATION\n"
|
||||||
"X-Poedit-Language: Russian\n"
|
"X-Poedit-Language: Russian\n"
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -13,7 +13,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
"Generated-By: pygettext.py 1.5\n"
|
"Generated-By: pygettext.py 1.5\n"
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2009-08-07 16:28+0000\n"
|
"X-Launchpad-Export-Date: 2009-08-10 16:48+0000\n"
|
||||||
"X-Generator: Launchpad (build Unknown)\n"
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
|
||||||
|
@ -14,6 +14,7 @@ from calibre.ptempfile import PersistentTemporaryFile
|
|||||||
|
|
||||||
if iswindows:
|
if iswindows:
|
||||||
import win32process
|
import win32process
|
||||||
|
_windows_null_file = open(os.devnull, 'wb')
|
||||||
|
|
||||||
class Worker(object):
|
class Worker(object):
|
||||||
'''
|
'''
|
||||||
@ -149,9 +150,20 @@ class Worker(object):
|
|||||||
self._file = PersistentTemporaryFile('_worker_redirect.log')
|
self._file = PersistentTemporaryFile('_worker_redirect.log')
|
||||||
args['stdout'] = self._file._fd
|
args['stdout'] = self._file._fd
|
||||||
args['stderr'] = subprocess.STDOUT
|
args['stderr'] = subprocess.STDOUT
|
||||||
|
if iswindows:
|
||||||
|
args['stdin'] = subprocess.PIPE
|
||||||
ret = self._file.name
|
ret = self._file.name
|
||||||
|
|
||||||
|
if iswindows and 'stdin' not in args:
|
||||||
|
# On windows when usingthepythonw interpreter,
|
||||||
|
# stdout, stderr and stdin may not be valid
|
||||||
|
args['stdin'] = subprocess.PIPE
|
||||||
|
args['stdout'] = _windows_null_file
|
||||||
|
args['stderr'] = subprocess.STDOUT
|
||||||
|
|
||||||
self.child = subprocess.Popen(cmd, **args)
|
self.child = subprocess.Popen(cmd, **args)
|
||||||
|
if 'stdin' in args:
|
||||||
|
self.child.stdin.close()
|
||||||
|
|
||||||
self.log_path = ret
|
self.log_path = ret
|
||||||
return ret
|
return ret
|
||||||
|
@ -78,7 +78,8 @@ class ConnectedWorker(Thread):
|
|||||||
self._returncode = r
|
self._returncode = r
|
||||||
return r
|
return r
|
||||||
|
|
||||||
|
class CriticalError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
class Server(Thread):
|
class Server(Thread):
|
||||||
|
|
||||||
@ -112,6 +113,8 @@ class Server(Thread):
|
|||||||
id = self.launched_worker_count
|
id = self.launched_worker_count
|
||||||
rfile = os.path.join(tempfile.gettempdir(),
|
rfile = os.path.join(tempfile.gettempdir(),
|
||||||
'calibre_ipc_result_%d_%d.pickle'%(self.id, id))
|
'calibre_ipc_result_%d_%d.pickle'%(self.id, id))
|
||||||
|
if redirect_output is None:
|
||||||
|
redirect_output = not gui
|
||||||
|
|
||||||
env = {
|
env = {
|
||||||
'CALIBRE_WORKER_ADDRESS' :
|
'CALIBRE_WORKER_ADDRESS' :
|
||||||
@ -126,14 +129,12 @@ class Server(Thread):
|
|||||||
if isinstance(cw, ConnectedWorker):
|
if isinstance(cw, ConnectedWorker):
|
||||||
break
|
break
|
||||||
if isinstance(cw, basestring):
|
if isinstance(cw, basestring):
|
||||||
raise Exception('Failed to launch worker process:\n'+cw)
|
raise CriticalError('Failed to launch worker process:\n'+cw)
|
||||||
return cw
|
return cw
|
||||||
|
|
||||||
def do_launch(self, env, gui, redirect_output, rfile):
|
def do_launch(self, env, gui, redirect_output, rfile):
|
||||||
w = Worker(env, gui=gui)
|
w = Worker(env, gui=gui)
|
||||||
|
|
||||||
if redirect_output is None:
|
|
||||||
redirect_output = not gui
|
|
||||||
try:
|
try:
|
||||||
w(redirect_output=redirect_output)
|
w(redirect_output=redirect_output)
|
||||||
conn = self.listener.accept()
|
conn = self.listener.accept()
|
||||||
@ -191,7 +192,9 @@ class Server(Thread):
|
|||||||
if len(self.pool) + len(self.workers) < self.pool_size:
|
if len(self.pool) + len(self.workers) < self.pool_size:
|
||||||
try:
|
try:
|
||||||
self.pool.append(self.launch_worker())
|
self.pool.append(self.launch_worker())
|
||||||
except Exception, err:
|
except CriticalError:
|
||||||
|
raise
|
||||||
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if len(self.pool) > 0 and len(self.waiting_jobs) > 0:
|
if len(self.pool) > 0 and len(self.waiting_jobs) > 0:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user