Make PRS 500 driver thread safe. Fixes #4307 (PRS-500 not recognized in 0.6.30)

This commit is contained in:
Kovid Goyal 2009-12-27 15:05:32 -07:00
commit d7c24b9896
8 changed files with 8855 additions and 774 deletions

View File

@ -39,6 +39,7 @@ from tempfile import TemporaryFile
from array import array from array import array
from functools import wraps from functools import wraps
from StringIO import StringIO from StringIO import StringIO
from threading import RLock
from calibre.devices.interface import DevicePlugin from calibre.devices.interface import DevicePlugin
from calibre.devices.libusb import Error as USBError from calibre.devices.libusb import Error as USBError
@ -52,6 +53,7 @@ from calibre.devices.usbms.deviceconfig import DeviceConfig
# Protocol versions this driver has been tested with # Protocol versions this driver has been tested with
KNOWN_USB_PROTOCOL_VERSIONS = [0x3030303030303130L] KNOWN_USB_PROTOCOL_VERSIONS = [0x3030303030303130L]
lock = RLock()
class File(object): class File(object):
""" """
@ -161,9 +163,12 @@ class PRS500(DeviceConfig, DevicePlugin):
""" """
@wraps(func) @wraps(func)
def run_session(*args, **kwargs): def run_session(*args, **kwargs):
with lock:
dev = args[0] dev = args[0]
res = None res = None
try: try:
if not hasattr(dev, 'in_session'):
dev.reset()
if not dev.handle: if not dev.handle:
dev.open() dev.open()
if not getattr(dev, 'in_session', False): if not getattr(dev, 'in_session', False):
@ -204,6 +209,7 @@ class PRS500(DeviceConfig, DevicePlugin):
If it is called with -1 that means that the If it is called with -1 that means that the
task does not have any progress information task does not have any progress information
""" """
with lock:
self.device = get_device_by_id(self.VENDOR_ID, self.PRODUCT_ID) self.device = get_device_by_id(self.VENDOR_ID, self.PRODUCT_ID)
# Handle that is used to communicate with device. Setup in L{open} # Handle that is used to communicate with device. Setup in L{open}
self.handle = None self.handle = None
@ -244,8 +250,9 @@ class PRS500(DeviceConfig, DevicePlugin):
Also initialize the device. Also initialize the device.
See the source code for the sequence of initialization commands. See the source code for the sequence of initialization commands.
""" """
with lock:
if not hasattr(self, 'key'): if not hasattr(self, 'key'):
self.key = '-1\0\0\0\0\0\0' self.reset()
self.device = get_device_by_id(self.VENDOR_ID, self.PRODUCT_ID) self.device = get_device_by_id(self.VENDOR_ID, self.PRODUCT_ID)
if not self.device: if not self.device:
raise DeviceError() raise DeviceError()
@ -295,6 +302,7 @@ class PRS500(DeviceConfig, DevicePlugin):
def close(self): def close(self):
""" Release device interface """ """ Release device interface """
with lock:
try: try:
self.handle.reset() self.handle.reset()
self.handle.release_interface(self.INTERFACE_ID) self.handle.release_interface(self.INTERFACE_ID)
@ -313,6 +321,7 @@ class PRS500(DeviceConfig, DevicePlugin):
@param timeout: The time to wait for a response from the @param timeout: The time to wait for a response from the
device, in milliseconds. If there is no response, a L{usb.USBError} is raised. device, in milliseconds. If there is no response, a L{usb.USBError} is raised.
""" """
with lock:
if self.log_packets: if self.log_packets:
self.log_packet(command, "Command") self.log_packet(command, "Command")
bytes_sent = self.handle.control_msg(0x40, 0x80, command) bytes_sent = self.handle.control_msg(0x40, 0x80, command)
@ -347,6 +356,7 @@ class PRS500(DeviceConfig, DevicePlugin):
@param packet_size: Size of packets to be sent to device. @param packet_size: Size of packets to be sent to device.
C{data} is broken up into packets to be sent to device. C{data} is broken up into packets to be sent to device.
""" """
with lock:
def bulk_write_packet(packet): def bulk_write_packet(packet):
self.handle.bulk_write(self.BULK_OUT_EP, packet) self.handle.bulk_write(self.BULK_OUT_EP, packet)
if self.log_packets: if self.log_packets:
@ -395,6 +405,7 @@ class PRS500(DeviceConfig, DevicePlugin):
@return: A list of packets read from the device. @return: A list of packets read from the device.
Each packet is of type data_type Each packet is of type data_type
""" """
with lock:
msize = self.bulk_read_max_packet_size msize = self.bulk_read_max_packet_size
def bulk_read_packet(data_type=Answer, size=0x1000): def bulk_read_packet(data_type=Answer, size=0x1000):
rsize = size rsize = size

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" 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-12-25 04:54+0000\n" "POT-Creation-Date: 2009-12-26 16:57+0000\n"
"PO-Revision-Date: 2009-12-25 19:11+0000\n" "PO-Revision-Date: 2009-12-26 16:45+0000\n"
"Last-Translator: Kovid Goyal <Unknown>\n" "Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: Arabic <ar@li.org>\n" "Language-Team: Arabic <ar@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-12-26 04:31+0000\n" "X-Launchpad-Export-Date: 2009-12-27 04:31+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
@ -64,8 +64,8 @@ msgstr "لا يفعل شيءً"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:121 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:121
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:155 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:155
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:594
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:783 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:784
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:896 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:896
@ -132,7 +132,7 @@ msgstr "لا يفعل شيءً"
#: /home/kovid/work/calibre/src/calibre/library/server.py:645 #: /home/kovid/work/calibre/src/calibre/library/server.py:645
#: /home/kovid/work/calibre/src/calibre/library/server.py:717 #: /home/kovid/work/calibre/src/calibre/library/server.py:717
#: /home/kovid/work/calibre/src/calibre/library/server.py:764 #: /home/kovid/work/calibre/src/calibre/library/server.py:764
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:107
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:45 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:45
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:63 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:63
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:77 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:77
@ -7361,10 +7361,18 @@ msgid "English (TH)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:103 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:103
msgid "Dutch (NL)" msgid "English (CY)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:104 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:104
msgid "German (AT)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105
msgid "Dutch (NL)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:106
msgid "Dutch (BE)" msgid "Dutch (BE)"
msgstr "" msgstr ""

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: de\n" "Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-25 04:54+0000\n" "POT-Creation-Date: 2009-12-26 16:57+0000\n"
"PO-Revision-Date: 2009-12-25 21:08+0000\n" "PO-Revision-Date: 2009-12-26 20:24+0000\n"
"Last-Translator: S. Dorscht <Unknown>\n" "Last-Translator: S. Dorscht <Unknown>\n"
"Language-Team: American English <kde-i18n-doc@lists.kde.org>\n" "Language-Team: American English <kde-i18n-doc@lists.kde.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-12-26 04:32+0000\n" "X-Launchpad-Export-Date: 2009-12-27 04:31+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"
@ -65,8 +65,8 @@ msgstr "Macht absolut gar nichts"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:121 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:121
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:155 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:155
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:594
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:783 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:784
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:896 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:896
@ -133,7 +133,7 @@ msgstr "Macht absolut gar nichts"
#: /home/kovid/work/calibre/src/calibre/library/server.py:645 #: /home/kovid/work/calibre/src/calibre/library/server.py:645
#: /home/kovid/work/calibre/src/calibre/library/server.py:717 #: /home/kovid/work/calibre/src/calibre/library/server.py:717
#: /home/kovid/work/calibre/src/calibre/library/server.py:764 #: /home/kovid/work/calibre/src/calibre/library/server.py:764
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:107
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:45 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:45
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:63 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:63
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:77 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:77
@ -8227,10 +8227,18 @@ msgid "English (TH)"
msgstr "Englisch (TH)" msgstr "Englisch (TH)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:103 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:103
msgid "English (CY)"
msgstr "Englisch (CY)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:104
msgid "German (AT)"
msgstr "Deutsch (AT)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105
msgid "Dutch (NL)" msgid "Dutch (NL)"
msgstr "Holländisch (NL)" msgstr "Holländisch (NL)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:104 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:106
msgid "Dutch (BE)" msgid "Dutch (BE)"
msgstr "Holländisch (BE)" msgstr "Holländisch (BE)"

View File

@ -10,14 +10,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: es\n" "Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-25 04:54+0000\n" "POT-Creation-Date: 2009-12-26 16:57+0000\n"
"PO-Revision-Date: 2009-12-26 01:25+0000\n" "PO-Revision-Date: 2009-12-26 16:48+0000\n"
"Last-Translator: mosteo <alejandro@mosteo.com>\n" "Last-Translator: mosteo <alejandro@mosteo.com>\n"
"Language-Team: Spanish\n" "Language-Team: Spanish\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-12-26 04:33+0000\n" "X-Launchpad-Export-Date: 2009-12-27 04:32+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
@ -67,8 +67,8 @@ msgstr "No hacer nada en absoluto"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:121 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:121
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:155 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:155
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:594
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:783 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:784
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:896 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:896
@ -135,7 +135,7 @@ msgstr "No hacer nada en absoluto"
#: /home/kovid/work/calibre/src/calibre/library/server.py:645 #: /home/kovid/work/calibre/src/calibre/library/server.py:645
#: /home/kovid/work/calibre/src/calibre/library/server.py:717 #: /home/kovid/work/calibre/src/calibre/library/server.py:717
#: /home/kovid/work/calibre/src/calibre/library/server.py:764 #: /home/kovid/work/calibre/src/calibre/library/server.py:764
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:107
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:45 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:45
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:63 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:63
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:77 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:77
@ -8181,10 +8181,18 @@ msgid "English (TH)"
msgstr "Inglés (TH)" msgstr "Inglés (TH)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:103 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:103
msgid "English (CY)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:104
msgid "German (AT)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105
msgid "Dutch (NL)" msgid "Dutch (NL)"
msgstr "Neerlandés (NL)" msgstr "Neerlandés (NL)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:104 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:106
msgid "Dutch (BE)" msgid "Dutch (BE)"
msgstr "Neerlandés (BE)" msgstr "Neerlandés (BE)"

File diff suppressed because it is too large Load Diff

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" 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-12-25 04:54+0000\n" "POT-Creation-Date: 2009-12-26 16:57+0000\n"
"PO-Revision-Date: 2009-12-25 19:14+0000\n" "PO-Revision-Date: 2009-12-26 16:50+0000\n"
"Last-Translator: Kovid Goyal <Unknown>\n" "Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: Latvian <ivars_a@inbox.lv>\n" "Language-Team: Latvian <ivars_a@inbox.lv>\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-12-26 04:32+0000\n" "X-Launchpad-Export-Date: 2009-12-27 04:31+0000\n"
"X-Generator: Launchpad (build Unknown)\n" "X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: LATVIA\n" "X-Poedit-Country: LATVIA\n"
"X-Poedit-Language: Latvian\n" "X-Poedit-Language: Latvian\n"
@ -66,8 +66,8 @@ msgstr "Pilnīgi neko nedara"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:121 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:121
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:155 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:155
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:594
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:783 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:784
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:896 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:896
@ -134,7 +134,7 @@ msgstr "Pilnīgi neko nedara"
#: /home/kovid/work/calibre/src/calibre/library/server.py:645 #: /home/kovid/work/calibre/src/calibre/library/server.py:645
#: /home/kovid/work/calibre/src/calibre/library/server.py:717 #: /home/kovid/work/calibre/src/calibre/library/server.py:717
#: /home/kovid/work/calibre/src/calibre/library/server.py:764 #: /home/kovid/work/calibre/src/calibre/library/server.py:764
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:107
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:45 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:45
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:63 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:63
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:77 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:77
@ -7354,10 +7354,18 @@ msgid "English (TH)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:103 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:103
msgid "Dutch (NL)" msgid "English (CY)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:104 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:104
msgid "German (AT)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105
msgid "Dutch (NL)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:106
msgid "Dutch (BE)" msgid "Dutch (BE)"
msgstr "" msgstr ""

View File

@ -6,14 +6,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: calibre 0.4.55\n" "Project-Id-Version: calibre 0.4.55\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-25 04:54+0000\n" "POT-Creation-Date: 2009-12-26 16:57+0000\n"
"PO-Revision-Date: 2009-12-25 19:27+0000\n" "PO-Revision-Date: 2009-12-26 16:54+0000\n"
"Last-Translator: Kovid Goyal <Unknown>\n" "Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: American English <kde-i18n-doc@lists.kde.org>\n" "Language-Team: American English <kde-i18n-doc@lists.kde.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-12-26 04:32+0000\n" "X-Launchpad-Export-Date: 2009-12-27 04:31+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"
@ -68,8 +68,8 @@ msgstr "Ничего не делает"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:121 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:121
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:155 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:155
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:594
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:783 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:784
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:896 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:896
@ -136,7 +136,7 @@ msgstr "Ничего не делает"
#: /home/kovid/work/calibre/src/calibre/library/server.py:645 #: /home/kovid/work/calibre/src/calibre/library/server.py:645
#: /home/kovid/work/calibre/src/calibre/library/server.py:717 #: /home/kovid/work/calibre/src/calibre/library/server.py:717
#: /home/kovid/work/calibre/src/calibre/library/server.py:764 #: /home/kovid/work/calibre/src/calibre/library/server.py:764
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:107
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:45 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:45
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:63 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:63
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:77 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:77
@ -7760,10 +7760,18 @@ msgid "English (TH)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:103 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:103
msgid "Dutch (NL)" msgid "English (CY)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:104 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:104
msgid "German (AT)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105
msgid "Dutch (NL)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:106
msgid "Dutch (BE)" msgid "Dutch (BE)"
msgstr "" msgstr ""

File diff suppressed because it is too large Load Diff