diff options
Diffstat (limited to 'libre')
-rw-r--r-- | libre/calibre-libre/PKGBUILD | 104 | ||||
-rw-r--r-- | libre/calibre-libre/calibre-mount-helper | 28 | ||||
-rw-r--r-- | libre/calibre-libre/desktop_integration.patch | 101 | ||||
-rw-r--r-- | libre/calibre-libre/libre.patch | 353 |
4 files changed, 212 insertions, 374 deletions
diff --git a/libre/calibre-libre/PKGBUILD b/libre/calibre-libre/PKGBUILD index aee169fd9..4dec76236 100644 --- a/libre/calibre-libre/PKGBUILD +++ b/libre/calibre-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 113113 2014-06-13 19:40:31Z jelle $ +# $Id: PKGBUILD 116806 2014-08-03 19:31:57Z jelle $ # Maintainer (Arch): Jelle van der Waa <jelle@vdwaa.nl> # Maintainer (Arch): Daniel Wallace <danielwallace at gtmanfred dot com> # Contributor (Arch): Giovanni Scafora <giovanni@archlinux.org> @@ -9,65 +9,80 @@ _pkgname=calibre pkgname=calibre-libre -pkgver=1.40.0 -pkgrel=1 -pkgdesc="Ebook management application, without nonfree libunrar support" +pkgver=1.204.1 +pkgrel=2 +pkgdesc="Ebook management application, without nonfree decompression engine for RAR archives" arch=('i686' 'x86_64' 'mips64el') url="http://calibre-ebook.com/" license=('GPL3') depends=('python2-six' 'python2-dateutil' 'python2-cssutils' 'python2-cherrypy' - 'python2-mechanize' 'podofo' 'libwmf' 'python2-beautifulsoup3' - 'imagemagick' 'poppler-qt' 'chmlib' 'python2-lxml' 'libusbx' + 'python2-mechanize' 'podofo' 'libwmf' + 'imagemagick' 'chmlib' 'python2-lxml' 'libusbx' 'python2-pillow' 'shared-mime-info' 'python2-dnspython' - 'python2-pyqt4' 'python2-psutil' 'icu' 'libmtp' - 'python2-netifaces' 'python2-cssselect' 'python2-apsw') -makedepends=('python2-pycountry' 'qt4-private-headers') + 'python2-pyqt5' 'python2-psutil' 'icu' 'libmtp' + 'python2-netifaces' 'python2-cssselect' 'python2-apsw' 'qt5-webkit' + 'qt5-svg' 'python2-chardet' 'python2-html5lib') +makedepends=('python2-pycountry' 'qt5-x11extras' ) optdepends=('ipython2: to use calibre-debug') replaces=($_pkgname) conflicts=($_pkgname) provides=($_pkgname=$pkgver) install=calibre.install -mksource=("http://download.calibre-ebook.com/${pkgver}/calibre-${pkgver}.tar.xz") +mksource=("http://download.calibre-ebook.com/betas/calibre-${pkgver}.tar.xz") source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz" - 'desktop_integration.patch' - 'calibre-mount-helper' 'libre.patch') -mkmd5sums=('4fb8c0273e9bf14698fe99a89c9e2a65') -md5sums=('d4c862b8b1590b116275393512909284' - 'ece36dfd737fa4a346f0a0e59395e949' - '675cd87d41342119827ef706055491e7' - '073a36adbb3628d21c2dff8b41e84abe') +mkmd5sums=('12f63635b7c743da3b4849f3a1e8ee9b') +md5sums=('dafd34ee356960928eaf920c7035d221' + '343162b9d1c97c0463d4919a8b9ac500') mksource(){ - cd "${srcdir}/${_pkgname}" + cd "${srcdir}/${_pkgname}-${pkgver}" # Remove nonfree unRAR utility files from the source rm -rv src/unrar } prepare(){ - cd "${srcdir}/${_pkgname}" + cd "${srcdir}/${_pkgname}-${pkgver}" - # Remove nonfree libunrar/cbr support and references + # Remove nonfree rar/cbr support and references rm -v src/calibre/{ebooks/metadata/rar.py,utils/unrar.{cpp,py}} rm -v resources/images/mimetypes/{cbr,rar}.png rm -v imgsrc/mimetypes/rar.svg patch -Np1 -i "${srcdir}/libre.patch" - #rm -rf src/{cherrypy,pyPdf} - rm -rf src/cherrypy - rm -rf resources/${pkgname}-portable.* - sed -i -e "s/ldflags = shlex.split(ldflags)/ldflags = shlex.split(ldflags) + ['-fPIC']/" setup/extensions.py - - # Fix for calibre-0.8.58 - sed -i -e "s:#!usr:#!/usr:g" src/calibre/ebooks/markdown/extensions/meta.py - - sed -i -e 's:\(#!/usr/bin/env[ ]\+python$\|#![ ]/usr/bin/env[ ]\+python$\|#!/usr/bin/python$\):\12:g' \ - $(find . -regex ".*.py\|.*.recipe") + # Remove unneeded files and libs + rm -rf resources/${_pkgname}-portable.* \ + src/six.py \ + src/cherrypy \ + src/html5lib \ + src/chardet + + sed -i "s/shlex.split(ldflags)/& + ['-fPIC']/" setup/extensions.py + #sed -i -e "s/ldflags = shlex.split(ldflags)/ldflags = shlex.split(ldflags) + ['-fPIC']/" setup/extensions.py + + # Use python2 + sed -i 's:\(env[ ]\+python$\|/usr/bin/python$\):\12:g' $(find . -regex ".*\.py\|.*\.recipe") + sed -i "/pyqt_sip_dir/ s:=.*:= '/usr/share/sip/Py2-PyQt5':" setup/build_environment.py + + # Desktop integration (e.g. enforce arch defaults) + sed -e "/self.create_uninstaller()/,/os.rmdir(config_dir)/d" \ + -e "/\(cc('xdg-icon-resource\|self.icon_resources.append\|'128'))\)/d" \ + -e "/render_img/ s/\('calibre-.*\.png'\)/os.path.join(dir, \1)/g" \ + -e "/dir, 'calibre-lrf.png'/i \ +\ dir = os.path.join(self.opts.staging_sharedir,'../pixmaps')\n\ +\ os.mkdir(dir)" \ + -e "/f = open/ s/\('calibre-.*\.desktop'\)/os.path.join(dir, \1)/g" \ + -e "/dir, 'calibre-lrfviewer.desktop'/i \ +\ dir = os.path.join(self.opts.staging_sharedir,'../applications')\n\ +\ os.mkdir(dir)" \ + -e "s/'ctc-posml'/'text' not in mt and 'pdf' not in mt and 'xhtml'/" \ + -e "s/^Name=calibre/Name=Calibre/g" \ + -i src/calibre/linux.py } build() { - cd "${srcdir}/${_pkgname}" + cd "${srcdir}/${_pkgname}-${pkgver}" LANG='en_US.UTF-8' python2 setup.py build # LANG='en_US.UTF-8' python2 setup.py resources @@ -77,36 +92,21 @@ build() { } package() { - cd "${srcdir}/${_pkgname}" + cd "${srcdir}/${_pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/desktop_integration.patch" - - # More on desktop integration (e.g. enforce arch defaults) - sed -i -e "/self.create_uninstaller()/,/os.rmdir(config_dir)/d" \ - -e "s|self.opts.staging_sharedir, 'man/man1'|self.opts.staging_root, 'usr/share/man/man1'|" \ - -e "s|manpath, prog+'.1'+__appname__+'.bz2'|manpath, prog+'.1'+'.bz2'|" \ - -e "s|old_udev = '/etc|old_udev = '${pkgdir}/etc|" \ - -e "s/^Name=calibre/Name=Calibre/g" src/calibre/linux.py - # Fix the environment module location sed -i -e "s|(prefix=.*)|(prefix='$pkgdir/usr')|g" setup/install.py - install -d "${pkgdir}/usr/lib/python2.7/site-packages" - install -d "${pkgdir}/usr/share/zsh/site-functions" + install -d "${pkgdir}/usr/lib/python2.7/site-packages" \ + "${pkgdir}/usr/share/zsh/site-functions" + LANG='en_US.UTF-8' python2 setup.py install --root="${pkgdir}" --prefix=/usr \ --staging-bindir="${pkgdir}/usr/bin" \ --staging-libdir="${pkgdir}/usr/lib" \ --staging-sharedir="${pkgdir}/usr/share" - find "${pkgdir}" -type d -empty -delete - - # See http://lwn.net/SubscriberLink/465311/7c299471a5399167/ - rm -rf "${pkgdir}/usr/bin/calibre-mount-helper" - install -m 755 "${srcdir}/calibre-mount-helper" "${pkgdir}/usr/bin" - - # Compiling bytecode FS33392 + # Compiling bytecode FS#33392 python2 -m compileall "${pkgdir}/usr/lib/calibre/" - - # Compiling optimized bytecode FS33392 python2 -O -m compileall "${pkgdir}/usr/lib/calibre/" } + diff --git a/libre/calibre-libre/calibre-mount-helper b/libre/calibre-libre/calibre-mount-helper deleted file mode 100644 index 00cac4270..000000000 --- a/libre/calibre-libre/calibre-mount-helper +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -e -# Replacement for upstream mount helper using udisks/eject -# (C) 2010 Martin Pitt <mpitt@debian.org> - -ACTION="$1" -DEV="$2" - -case "$ACTION" in - mount) - udisks --mount "$DEV" - - # check if mount worked. If not, fail - # udisks does return 0 even if mount failed - mount | grep -q "$DEV" || exit 0 - ;; - - eject) - eject "$DEV" - ;; - - cleanup) - ;; - - *) - echo "unknown action" >&2 - exit 1 -esac - diff --git a/libre/calibre-libre/desktop_integration.patch b/libre/calibre-libre/desktop_integration.patch deleted file mode 100644 index f1a66c020..000000000 --- a/libre/calibre-libre/desktop_integration.patch +++ /dev/null @@ -1,101 +0,0 @@ -diff -aur calibre/src/calibre/linux.py calibre.new/src/calibre/linux.py ---- calibre/src/calibre/linux.py 2014-02-28 04:06:35.000000000 +0100 -+++ calibre.new/src/calibre/linux.py 2014-02-28 11:18:00.518362669 +0100 -@@ -495,18 +495,6 @@ - self.setup_completion() - if islinux or isbsd: - self.setup_desktop_integration() -- self.create_uninstaller() -- -- from calibre.utils.config import config_dir -- if os.path.exists(config_dir): -- os.chdir(config_dir) -- if islinux or isbsd: -- for f in os.listdir('.'): -- if os.stat(f).st_uid == 0: -- import shutil -- shutil.rmtree(f) if os.path.isdir(f) else os.unlink(f) -- if os.stat(config_dir).st_uid == 0: -- os.rmdir(config_dir) - - if warn is None and self.warnings: - self.info('\n\nThere were %d warnings\n'%len(self.warnings)) -@@ -564,7 +552,7 @@ - if isnetbsd: - f = os.path.join(self.opts.staging_root, 'share/bash_completion.d/calibre') - else: -- f = os.path.join(self.opts.staging_etc, 'bash_completion.d/calibre') -+ f = os.path.join(self.opts.staging_root, 'usr/share/bash-completion/completions/calibre') - if not os.path.exists(os.path.dirname(f)): - os.makedirs(os.path.dirname(f)) - bash_comp_dest, zsh_comp_dest = f, None -@@ -713,56 +701,37 @@ - - with TemporaryDirectory() as tdir, CurrentDir(tdir), \ - PreserveMIMEDefaults(): -- render_img('mimetypes/lrf.png', 'calibre-lrf.png') -- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png application-lrf', shell=True) -- self.icon_resources.append(('mimetypes', 'application-lrf', '128')) -- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png text-lrs', shell=True) -- self.icon_resources.append(('mimetypes', 'application-lrs', -- '128')) -- render_img('mimetypes/mobi.png', 'calibre-mobi.png') -- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-mobi.png application-x-mobipocket-ebook', shell=True) -- self.icon_resources.append(('mimetypes', 'application-x-mobipocket-ebook', '128')) -- render_img('mimetypes/tpz.png', 'calibre-tpz.png') -- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-tpz.png application-x-topaz-ebook', shell=True) -- self.icon_resources.append(('mimetypes', 'application-x-topaz-ebook', '128')) -- render_img('mimetypes/azw2.png', 'calibre-azw2.png') -- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-azw2.png application-x-kindle-application', shell=True) -- self.icon_resources.append(('mimetypes', 'application-x-kindle-application', '128')) -- render_img('mimetypes/azw3.png', 'calibre-azw3.png') -- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-azw3.png application-x-mobi8-ebook', shell=True) -- self.icon_resources.append(('mimetypes', 'application-x-mobi8-ebook', '128')) -- render_img('lt.png', 'calibre-gui.png', width=256, height=256) -- cc('xdg-icon-resource install --noupdate --size 256 calibre-gui.png calibre-gui', shell=True) -- self.icon_resources.append(('apps', 'calibre-gui', '256')) -- render_img('viewer.png', 'calibre-viewer.png', width=256, height=256) -- cc('xdg-icon-resource install --size 256 calibre-viewer.png calibre-viewer', shell=True) -- self.icon_resources.append(('apps', 'calibre-viewer', '256')) -- render_img('tweak.png', 'calibre-ebook-edit.png', width=256, height=256) -- cc('xdg-icon-resource install --size 256 calibre-ebook-edit.png calibre-ebook-edit', shell=True) -- self.icon_resources.append(('apps', 'calibre-ebook-edit', '256')) -+ dir = os.path.join(self.opts.staging_sharedir,'../pixmaps') -+ os.mkdir(dir) -+ render_img('mimetypes/lrf.png', os.path.join(dir,'calibre-lrf.png')) -+ render_img('lt.png', os.path.join(dir, 'calibre-gui.png')) -+ render_img('viewer.png', os.path.join(dir, 'calibre-viewer.png')) -+ render_img('tweak.png', os.path.join(dir, 'calibre-ebook-edit.png')) - - mimetypes = set([]) - for x in all_input_formats(): - mt = guess_type('dummy.'+x)[0] -- if mt and 'chemical' not in mt and 'ctc-posml' not in mt: -+ if mt and 'chemical' not in mt and 'text' not in mt and 'pdf' not in mt and 'xhtml' not in mt: - mimetypes.add(mt) - - def write_mimetypes(f): - f.write('MimeType=%s;\n'%';'.join(mimetypes)) - - from calibre.ebooks.oeb.polish.main import SUPPORTED -- f = open('calibre-lrfviewer.desktop', 'wb') -+ dir = os.path.join(self.opts.staging_sharedir,'../applications') -+ os.mkdir(dir) -+ f = open(os.path.join(dir, 'calibre-lrfviewer.desktop'), 'wb') - f.write(VIEWER) - f.close() -- f = open('calibre-ebook-viewer.desktop', 'wb') -+ f = open(os.path.join(dir, 'calibre-ebook-viewer.desktop'), 'wb') - f.write(EVIEWER) - write_mimetypes(f) -- f = open('calibre-ebook-edit.desktop', 'wb') -+ f = open(os.path.join(dir, 'calibre-ebook-edit.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 = open('calibre-gui.desktop', 'wb') -+ f = open(os.path.join(dir, 'calibre-gui.desktop'), 'wb') - f.write(GUI) - write_mimetypes(f) - f.close() diff --git a/libre/calibre-libre/libre.patch b/libre/calibre-libre/libre.patch index e2101d8a2..7f1bdb6ee 100644 --- a/libre/calibre-libre/libre.patch +++ b/libre/calibre-libre/libre.patch @@ -1,35 +1,26 @@ -diff --git a/resources/images.qrc b/resources/images.qrc -index 4daf069..f7569d1 100644 ---- a/resources/images.qrc -+++ b/resources/images.qrc -@@ -159,7 +159,6 @@ - <file>images/textures/grey_wash_wall.png</file> - <file>images/mimetypes/djvu.png</file> - <file>images/mimetypes/rtf.png</file> --<file>images/mimetypes/cbr.png</file> - <file>images/mimetypes/lrf.png</file> - <file>images/mimetypes/jpeg.png</file> - <file>images/mimetypes/pdf.png</file> -@@ -181,7 +180,6 @@ - <file>images/mimetypes/txt.png</file> - <file>images/mimetypes/snb.png</file> +diff -Nur calibre-1.204.1.orig/resources/images.qrc calibre-1.204.1/resources/images.qrc +--- calibre-1.204.1.orig/resources/images.qrc 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/resources/images.qrc 2014-08-03 19:38:32.047600280 -0300 +@@ -193,8 +193,6 @@ + <file>images/mimetypes/svg.png</file> <file>images/mimetypes/odt.png</file> + <file>images/mimetypes/epub.png</file> +-<file>images/mimetypes/cbr.png</file> -<file>images/mimetypes/rar.png</file> - <file>images/mimetypes/azw2.png</file> - <file>images/mimetypes/zip.png</file> - <file>images/mimetypes/dir.png</file> -@@ -212,4 +210,4 @@ - <file>images/devices/tablet.png</file> - <file>images/devices/folder.png</file> + <file>images/mimetypes/tpz.png</file> + <file>images/mimetypes/djvu.png</file> + <file>images/mimetypes/computer.png</file> +@@ -214,4 +212,4 @@ + <file>images/mimetypes/html.png</file> + <file>images/mimetypes/lrx.png</file> </qresource> -</RCC> \ No newline at end of file +</RCC> -diff --git a/resources/mime.types b/resources/mime.types -index b7c33e9..055ea61 100644 ---- a/resources/mime.types -+++ b/resources/mime.types -@@ -137,7 +137,6 @@ application/prs.cww cww +diff -Nur calibre-1.204.1.orig/resources/mime.types calibre-1.204.1/resources/mime.types +--- calibre-1.204.1.orig/resources/mime.types 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/resources/mime.types 2014-08-03 19:37:20.290255565 -0300 +@@ -137,7 +137,6 @@ application/prs.nprend application/prs.plucker application/qsig @@ -37,7 +28,7 @@ index b7c33e9..055ea61 100644 application/rdf+xml rdf application/reginfo+xml rif application/relax-ng-compact-syntax rnc -@@ -849,7 +848,6 @@ application/x-pkcs7-certreqresp p7r +@@ -849,7 +848,6 @@ application/x-pkcs7-crl crl application/x-python-code pyc pyo application/x-quicktimeplayer qtl @@ -45,7 +36,7 @@ index b7c33e9..055ea61 100644 application/x-redhat-package-manager rpm application/x-sh sh application/x-shar shar -@@ -1372,7 +1370,6 @@ application/x-mobipocket-subscription pobi +@@ -1372,7 +1370,6 @@ application/x-kindle-application azw2 application/x-mobi8-ebook azw3 application/x-cbz cbz @@ -53,11 +44,10 @@ index b7c33e9..055ea61 100644 application/x-cb7 cb7 application/x-koboreader-ebook kobo image/wmf wmf -diff --git a/session.vim b/session.vim -index 67502c2..b7f24d3 100644 ---- a/session.vim -+++ b/session.vim -@@ -11,7 +11,6 @@ let g:syntastic_cpp_include_dirs = [ +diff -Nur calibre-1.204.1.orig/session.vim calibre-1.204.1/session.vim +--- calibre-1.204.1.orig/session.vim 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/session.vim 2014-08-03 19:37:20.290255565 -0300 +@@ -11,7 +11,6 @@ \'/usr/include/freetype2', \'/usr/include/fontconfig', \'src/qtcurve/common', 'src/qtcurve', @@ -65,11 +55,10 @@ index 67502c2..b7f24d3 100644 \'src/qt-harfbuzz/src', \'/usr/include/ImageMagick', \] -diff --git a/setup/extensions.py b/setup/extensions.py -index b9d92f6..2ac13a9 100644 ---- a/setup/extensions.py -+++ b/setup/extensions.py -@@ -224,24 +224,6 @@ extensions = [ +diff -Nur calibre-1.204.1.orig/setup/extensions.py calibre-1.204.1/setup/extensions.py +--- calibre-1.204.1.orig/setup/extensions.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/setup/extensions.py 2014-08-03 19:37:20.290255565 -0300 +@@ -229,24 +229,6 @@ sip_files=['calibre/ebooks/pdf/render/qt_hack.sip'] ), @@ -94,11 +83,10 @@ index b9d92f6..2ac13a9 100644 ] -diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py -index 08aa91f..7ee523b 100644 ---- a/setup/installer/windows/freeze.py -+++ b/setup/installer/windows/freeze.py -@@ -635,7 +635,7 @@ class Win32Freeze(Command, WixMixIn): +diff -Nur calibre-1.204.1.orig/setup/installer/windows/freeze.py calibre-1.204.1/setup/installer/windows/freeze.py +--- calibre-1.204.1.orig/setup/installer/windows/freeze.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/setup/installer/windows/freeze.py 2014-08-03 19:37:20.290255565 -0300 +@@ -672,7 +672,7 @@ # Because of https://github.com/fancycode/MemoryModule/issues/4 # any extensions that use C++ exceptions must be loaded # from files @@ -107,24 +95,22 @@ index 08aa91f..7ee523b 100644 'progress_indicator.pyd', 'hunspell.pyd', # As per this https://bugs.launchpad.net/bugs/1087816 # on some systems magick.pyd fails to load from memory -diff --git a/setup/resources.py b/setup/resources.py -index 1bcc288..7d6c72f 100644 ---- a/setup/resources.py -+++ b/setup/resources.py -@@ -282,7 +282,7 @@ class Resources(Command): # {{{ +diff -Nur calibre-1.204.1.orig/setup/resources.py calibre-1.204.1/setup/resources.py +--- calibre-1.204.1.orig/setup/resources.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/setup/resources.py 2014-08-03 19:37:20.290255565 -0300 +@@ -280,7 +280,7 @@ log = Log() - #log.outputs = [] + # log.outputs = [] for inf in supported_input_formats(): - if inf in ('zip', 'rar', 'oebzip'): + if inf in ('zip', 'oebzip'): continue for ouf in available_output_formats(): of = ouf if ouf == 'oeb' else 'dummy.'+ouf -diff --git a/src/calibre/__init__.py b/src/calibre/__init__.py -index fcb627c..3289865 100644 ---- a/src/calibre/__init__.py -+++ b/src/calibre/__init__.py -@@ -271,10 +271,7 @@ def extract(path, dir): +diff -Nur calibre-1.204.1.orig/src/calibre/__init__.py calibre-1.204.1/src/calibre/__init__.py +--- calibre-1.204.1.orig/src/calibre/__init__.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/__init__.py 2014-08-03 19:37:20.290255565 -0300 +@@ -271,10 +271,7 @@ # First use the file header to identify its type with open(path, 'rb') as f: id_ = f.read(3) @@ -136,7 +122,7 @@ index fcb627c..3289865 100644 from calibre.libunzip import extract as zipextract extractor = zipextract if extractor is None: -@@ -283,9 +280,6 @@ def extract(path, dir): +@@ -283,9 +280,6 @@ if ext in ['zip', 'cbz', 'epub', 'oebzip']: from calibre.libunzip import extract as zipextract extractor = zipextract @@ -146,23 +132,21 @@ index fcb627c..3289865 100644 if extractor is None: raise Exception('Unknown archive type') extractor(path, dir) -diff --git a/src/calibre/constants.py b/src/calibre/constants.py -index a250521..5d891b8 100644 ---- a/src/calibre/constants.py -+++ b/src/calibre/constants.py -@@ -137,7 +137,6 @@ class Plugins(collections.Mapping): - 'speedup', +diff -Nur calibre-1.204.1.orig/src/calibre/constants.py calibre-1.204.1/src/calibre/constants.py +--- calibre-1.204.1.orig/src/calibre/constants.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/constants.py 2014-08-03 19:37:20.290255565 -0300 +@@ -138,7 +138,6 @@ + 'html', 'freetype', 'woff', - 'unrar', 'qt_hack', '_regex', 'hunspell', -diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py -index a74951c..a91abb6 100644 ---- a/src/calibre/customize/builtins.py -+++ b/src/calibre/customize/builtins.py -@@ -127,7 +127,7 @@ plugins += [HTML2ZIP, PML2PMLZ, TXT2TXTZ, ArchiveExtract,] +diff -Nur calibre-1.204.1.orig/src/calibre/customize/builtins.py calibre-1.204.1/src/calibre/customize/builtins.py +--- calibre-1.204.1.orig/src/calibre/customize/builtins.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/customize/builtins.py 2014-08-03 19:37:20.290255565 -0300 +@@ -127,7 +127,7 @@ class ComicMetadataReader(MetadataReaderPlugin): name = 'Read comic metadata' @@ -171,7 +155,7 @@ index a74951c..a91abb6 100644 description = _('Extract cover from comic files') def customization_help(self, gui=False): -@@ -138,14 +138,8 @@ class ComicMetadataReader(MetadataReaderPlugin): +@@ -138,14 +138,8 @@ pos = stream.tell() id_ = stream.read(3) stream.seek(pos) @@ -187,7 +171,7 @@ index a74951c..a91abb6 100644 from calibre.libunzip import extract_member extract_first = functools.partial(extract_member, sort_alphabetically=True) -@@ -153,7 +147,7 @@ class ComicMetadataReader(MetadataReaderPlugin): +@@ -153,7 +147,7 @@ ret = extract_first(stream) mi = MetaInformation(None, None) stream.seek(0) @@ -196,7 +180,7 @@ index a74951c..a91abb6 100644 series_index = self.site_customization if series_index not in {'volume', 'issue'}: series_index = 'volume' -@@ -336,16 +330,6 @@ class PMLMetadataReader(MetadataReaderPlugin): +@@ -336,16 +330,6 @@ from calibre.ebooks.metadata.pml import get_metadata return get_metadata(stream) @@ -213,11 +197,10 @@ index a74951c..a91abb6 100644 class RBMetadataReader(MetadataReaderPlugin): name = 'Read RB metadata' -diff --git a/src/calibre/customize/ui.py b/src/calibre/customize/ui.py -index 2e1cc23..c9a3701 100644 ---- a/src/calibre/customize/ui.py -+++ b/src/calibre/customize/ui.py -@@ -436,7 +436,7 @@ def available_input_formats(): +diff -Nur calibre-1.204.1.orig/src/calibre/customize/ui.py calibre-1.204.1/src/calibre/customize/ui.py +--- calibre-1.204.1.orig/src/calibre/customize/ui.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/customize/ui.py 2014-08-03 19:37:20.290255565 -0300 +@@ -440,7 +440,7 @@ if not is_disabled(plugin): for format in plugin.file_types: formats.add(format) @@ -226,11 +209,10 @@ index 2e1cc23..c9a3701 100644 return formats -diff --git a/src/calibre/devices/kobo/driver.py b/src/calibre/devices/kobo/driver.py -index aca5e86..1c2064f 100644 ---- a/src/calibre/devices/kobo/driver.py -+++ b/src/calibre/devices/kobo/driver.py -@@ -77,7 +77,7 @@ class KOBO(USBMS): +diff -Nur calibre-1.204.1.orig/src/calibre/devices/kobo/driver.py calibre-1.204.1/src/calibre/devices/kobo/driver.py +--- calibre-1.204.1.orig/src/calibre/devices/kobo/driver.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/devices/kobo/driver.py 2014-08-03 19:37:20.290255565 -0300 +@@ -77,7 +77,7 @@ book_class = Book # Ordered list of supported formats @@ -239,11 +221,10 @@ index aca5e86..1c2064f 100644 CAN_SET_METADATA = ['collections'] VENDOR_ID = [0x2237] -diff --git a/src/calibre/devices/mtp/filesystem_cache.py b/src/calibre/devices/mtp/filesystem_cache.py -index 3acb026..f3626ab 100644 ---- a/src/calibre/devices/mtp/filesystem_cache.py -+++ b/src/calibre/devices/mtp/filesystem_cache.py -@@ -18,7 +18,7 @@ from calibre.utils.date import local_tz, as_utc +diff -Nur calibre-1.204.1.orig/src/calibre/devices/mtp/filesystem_cache.py calibre-1.204.1/src/calibre/devices/mtp/filesystem_cache.py +--- calibre-1.204.1.orig/src/calibre/devices/mtp/filesystem_cache.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/devices/mtp/filesystem_cache.py 2014-08-03 19:37:20.290255565 -0300 +@@ -18,7 +18,7 @@ from calibre.utils.icu import sort_key, lower from calibre.ebooks import BOOK_EXTENSIONS @@ -252,11 +233,10 @@ index 3acb026..f3626ab 100644 class FileOrFolder(object): -diff --git a/src/calibre/ebooks/__init__.py b/src/calibre/ebooks/__init__.py -index 3d01f84..8818bcb 100644 ---- a/src/calibre/ebooks/__init__.py -+++ b/src/calibre/ebooks/__init__.py -@@ -26,9 +26,9 @@ class DRMError(ValueError): +diff -Nur calibre-1.204.1.orig/src/calibre/ebooks/__init__.py calibre-1.204.1/src/calibre/ebooks/__init__.py +--- calibre-1.204.1.orig/src/calibre/ebooks/__init__.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/ebooks/__init__.py 2014-08-03 19:37:20.290255565 -0300 +@@ -26,9 +26,9 @@ class ParserError(ValueError): pass @@ -267,12 +247,11 @@ index 3d01f84..8818bcb 100644 + 'epub', 'fb2', 'djv', 'djvu', 'lrx', 'cbz', 'cbc', 'oebzip', 'rb', 'imp', 'odt', 'chm', 'tpz', 'azw1', 'pml', 'pmlz', 'mbp', 'tan', 'snb', 'xps', 'oxps', 'azw4', 'book', 'zbf', 'pobi', 'docx', 'docm', 'md', - 'textile', 'markdown', 'ibook', 'iba', 'azw3', 'ps'] -diff --git a/src/calibre/ebooks/conversion/plugins/comic_input.py b/src/calibre/ebooks/conversion/plugins/comic_input.py -index e66ca49..3caa2db 100644 ---- a/src/calibre/ebooks/conversion/plugins/comic_input.py -+++ b/src/calibre/ebooks/conversion/plugins/comic_input.py -@@ -17,8 +17,8 @@ class ComicInput(InputFormatPlugin): + 'textile', 'markdown', 'ibook', 'ibooks', 'iba', 'azw3', 'ps', 'kepub'] +diff -Nur calibre-1.204.1.orig/src/calibre/ebooks/conversion/plugins/comic_input.py calibre-1.204.1/src/calibre/ebooks/conversion/plugins/comic_input.py +--- calibre-1.204.1.orig/src/calibre/ebooks/conversion/plugins/comic_input.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/ebooks/conversion/plugins/comic_input.py 2014-08-03 19:37:20.290255565 -0300 +@@ -17,8 +17,8 @@ name = 'Comic Input' author = 'Kovid Goyal' @@ -283,11 +262,10 @@ index e66ca49..3caa2db 100644 is_image_collection = True core_usage = -1 -diff --git a/src/calibre/ebooks/conversion/plumber.py b/src/calibre/ebooks/conversion/plumber.py -index cb49801..689c5aa 100644 ---- a/src/calibre/ebooks/conversion/plumber.py -+++ b/src/calibre/ebooks/conversion/plumber.py -@@ -42,7 +42,7 @@ various stages of conversion. The stages are: +diff -Nur calibre-1.204.1.orig/src/calibre/ebooks/conversion/plumber.py calibre-1.204.1/src/calibre/ebooks/conversion/plumber.py +--- calibre-1.204.1.orig/src/calibre/ebooks/conversion/plumber.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/ebooks/conversion/plumber.py 2014-08-03 19:37:20.290255565 -0300 +@@ -42,7 +42,7 @@ def supported_input_formats(): fmts = available_input_formats() @@ -296,7 +274,7 @@ index cb49801..689c5aa 100644 fmts.add(x) return fmts -@@ -60,7 +60,7 @@ class CompositeProgressReporter(object): +@@ -60,7 +60,7 @@ (self.global_max - self.global_min) self.global_reporter(global_frac, msg) @@ -305,11 +283,10 @@ index cb49801..689c5aa 100644 class Plumber(object): ''' -diff --git a/src/calibre/ebooks/metadata/archive.py b/src/calibre/ebooks/metadata/archive.py -index 7b8ecd2..f5c31ac 100644 ---- a/src/calibre/ebooks/metadata/archive.py -+++ b/src/calibre/ebooks/metadata/archive.py -@@ -27,8 +27,6 @@ def archive_type(stream): +diff -Nur calibre-1.204.1.orig/src/calibre/ebooks/metadata/archive.py calibre-1.204.1/src/calibre/ebooks/metadata/archive.py +--- calibre-1.204.1.orig/src/calibre/ebooks/metadata/archive.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/ebooks/metadata/archive.py 2014-08-03 19:37:20.290255565 -0300 +@@ -27,8 +27,6 @@ ans = None if id_ == stringFileHeader: ans = 'zip' @@ -318,7 +295,7 @@ index 7b8ecd2..f5c31ac 100644 try: stream.seek(pos) except: -@@ -40,29 +38,20 @@ class ArchiveExtract(FileTypePlugin): +@@ -40,29 +38,20 @@ name = 'Archive Extract' author = 'Kovid Goyal' description = _('Extract common e-book formats from archives ' @@ -354,7 +331,7 @@ index 7b8ecd2..f5c31ac 100644 of = self.temporary_file('_archive_extract'+ext) with open(archive, 'rb') as f: of.write(f.read()) -@@ -78,12 +67,7 @@ class ArchiveExtract(FileTypePlugin): +@@ -78,12 +67,7 @@ of = self.temporary_file('_archive_extract.'+ext) with closing(of): @@ -368,7 +345,7 @@ index 7b8ecd2..f5c31ac 100644 return of.name def get_comic_book_info(d, mi, series_index='volume'): -@@ -141,10 +125,6 @@ def get_comic_metadata(stream, stream_type, series_index='volume'): +@@ -141,10 +125,6 @@ from calibre.utils.zipfile import ZipFile zf = ZipFile(stream) comment = zf.comment @@ -379,11 +356,10 @@ index 7b8ecd2..f5c31ac 100644 if comment: import json -diff --git a/src/calibre/ebooks/oeb/iterator/book.py b/src/calibre/ebooks/oeb/iterator/book.py -index 8868e7c..4662f67 100644 ---- a/src/calibre/ebooks/oeb/iterator/book.py -+++ b/src/calibre/ebooks/oeb/iterator/book.py -@@ -127,7 +127,7 @@ class EbookIterator(BookmarksMixin): +diff -Nur calibre-1.204.1.orig/src/calibre/ebooks/oeb/iterator/book.py calibre-1.204.1/src/calibre/ebooks/oeb/iterator/book.py +--- calibre-1.204.1.orig/src/calibre/ebooks/oeb/iterator/book.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/ebooks/oeb/iterator/book.py 2014-08-03 19:37:20.290255565 -0300 +@@ -126,7 +126,7 @@ self.spine = [] Spiny = partial(SpineItem, read_anchor_map=read_anchor_map, run_char_count=run_char_count, from_epub=self.book_format == 'EPUB') @@ -392,11 +368,10 @@ index 8868e7c..4662f67 100644 for i in ordered: spath = i.path mt = None -diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py -index e419685..ee83d7b 100644 ---- a/src/calibre/gui2/__init__.py -+++ b/src/calibre/gui2/__init__.py -@@ -488,7 +488,6 @@ class FileIconProvider(QFileIconProvider): +diff -Nur calibre-1.204.1.orig/src/calibre/gui2/__init__.py calibre-1.204.1/src/calibre/gui2/__init__.py +--- calibre-1.204.1.orig/src/calibre/gui2/__init__.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/gui2/__init__.py 2014-08-03 19:37:20.290255565 -0300 +@@ -497,7 +497,6 @@ 'png' : 'png', 'bmp' : 'bmp', 'cbz' : 'cbz', @@ -404,7 +379,7 @@ index e419685..ee83d7b 100644 'svg' : 'svg', 'html' : 'html', 'htmlz' : 'html', -@@ -500,7 +499,6 @@ class FileIconProvider(QFileIconProvider): +@@ -509,7 +508,6 @@ 'lrx' : 'lrx', 'pdf' : 'pdf', 'pdr' : 'zero', @@ -412,11 +387,10 @@ index e419685..ee83d7b 100644 'zip' : 'zip', 'txt' : 'txt', 'text' : 'txt', -diff --git a/src/calibre/gui2/actions/add.py b/src/calibre/gui2/actions/add.py -index 3e3c48b..a605ff5 100644 ---- a/src/calibre/gui2/actions/add.py -+++ b/src/calibre/gui2/actions/add.py -@@ -38,8 +38,8 @@ def get_filters(): +diff -Nur calibre-1.204.1.orig/src/calibre/gui2/actions/add.py calibre-1.204.1/src/calibre/gui2/actions/add.py +--- calibre-1.204.1.orig/src/calibre/gui2/actions/add.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/gui2/actions/add.py 2014-08-03 19:37:20.293588940 -0300 +@@ -39,8 +39,8 @@ (_('Text books'), ['txt', 'text', 'rtf']), (_('PDF Books'), ['pdf', 'azw4']), (_('SNB Books'), ['snb']), @@ -427,7 +401,7 @@ index 3e3c48b..a605ff5 100644 (_('Wordprocessor files'), ['odt', 'doc', 'docx']), ] -@@ -66,7 +66,7 @@ class AddAction(InterfaceAction): +@@ -67,7 +67,7 @@ 'sub directories (Multiple books per directory, assumes every ' 'ebook file is a different book)')).triggered.connect( self.add_recursive_multiple) @@ -436,7 +410,7 @@ index 3e3c48b..a605ff5 100644 self.create_menu_action(arm, 'recursive-single-archive', _( 'One book per directory in the archive')).triggered.connect(partial(self.add_archive, True)) self.create_menu_action(arm, 'recursive-multiple-archive', _( -@@ -144,7 +144,7 @@ class AddAction(InterfaceAction): +@@ -145,7 +145,7 @@ def add_archive(self, single): paths = choose_files( self.gui, 'recursive-archive-add', _('Choose archive file'), @@ -445,11 +419,10 @@ index 3e3c48b..a605ff5 100644 if paths: self.do_add_recursive(paths[0], single) -diff --git a/src/calibre/gui2/add.py b/src/calibre/gui2/add.py -index d849846..50aa6d9 100644 ---- a/src/calibre/gui2/add.py -+++ b/src/calibre/gui2/add.py -@@ -84,11 +84,8 @@ class RecursiveFind(QThread): # {{{ +diff -Nur calibre-1.204.1.orig/src/calibre/gui2/add.py calibre-1.204.1/src/calibre/gui2/add.py +--- calibre-1.204.1.orig/src/calibre/gui2/add.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/gui2/add.py 2014-08-03 19:37:20.293588940 -0300 +@@ -84,11 +84,8 @@ prints('Corrupt ZIP file, trying to use local headers') from calibre.utils.localunzip import extractall extractall(self.path, self.tdir) @@ -462,7 +435,7 @@ index d849846..50aa6d9 100644 def run(self): if self.tdir is not None: -@@ -292,7 +289,7 @@ class Adder(QObject): # {{{ +@@ -292,7 +289,7 @@ self.pd.canceled_signal.connect(self.canceled) def add_recursive(self, root, single=True): @@ -471,11 +444,10 @@ index d849846..50aa6d9 100644 self.path = tdir = PersistentTemporaryDirectory('_arcv_') else: self.path = root -diff --git a/src/calibre/library/server/opds.py b/src/calibre/library/server/opds.py -index 5e9ca44..f5d230d 100644 ---- a/src/calibre/library/server/opds.py -+++ b/src/calibre/library/server/opds.py -@@ -29,7 +29,7 @@ BASE_HREFS = { +diff -Nur calibre-1.204.1.orig/src/calibre/library/server/opds.py calibre-1.204.1/src/calibre/library/server/opds.py +--- calibre-1.204.1.orig/src/calibre/library/server/opds.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/library/server/opds.py 2014-08-03 19:37:20.293588940 -0300 +@@ -29,7 +29,7 @@ 1 : '/opds', } @@ -484,11 +456,10 @@ index 5e9ca44..f5d230d 100644 def url_for(name, version, **kwargs): if not name.endswith('_'): -diff --git a/src/calibre/linux.py b/src/calibre/linux.py -index c746606..d6b2c6c 100644 ---- a/src/calibre/linux.py -+++ b/src/calibre/linux.py -@@ -314,7 +314,7 @@ class ZshCompleter(object): # {{{ +diff -Nur calibre-1.204.1.orig/src/calibre/linux.py calibre-1.204.1/src/calibre/linux.py +--- calibre-1.204.1.orig/src/calibre/linux.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/linux.py 2014-08-03 19:37:20.293588940 -0300 +@@ -316,7 +316,7 @@ ): for fmt in fmts: is_input = group_title == input_group @@ -497,11 +468,10 @@ index c746606..d6b2c6c 100644 continue p = (get_parser(input_fmt=fmt) if is_input else get_parser(output_fmt=fmt)) -diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py -index fd9a36d..130d08d 100644 ---- a/src/calibre/test_build.py -+++ b/src/calibre/test_build.py -@@ -102,11 +102,6 @@ def test_imaging(): +diff -Nur calibre-1.204.1.orig/src/calibre/test_build.py calibre-1.204.1/src/calibre/test_build.py +--- calibre-1.204.1.orig/src/calibre/test_build.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/test_build.py 2014-08-03 19:37:20.293588940 -0300 +@@ -139,11 +139,6 @@ raise RuntimeError('PIL choked!') print ('PIL OK!') @@ -513,41 +483,18 @@ index fd9a36d..130d08d 100644 def test_ssl(): import ssl ssl -@@ -146,7 +141,6 @@ def test(): - test_ssl() +@@ -217,7 +212,6 @@ test_sqlite() + test_apsw() test_imaging() - test_unrar() test_icu() test_woff() test_qt() -diff --git a/translations/calibre/main.pot b/translations/calibre/main.pot -index 1775b71..65cf8c4 100644 ---- a/translations/calibre/main.pot -+++ b/translations/calibre/main.pot -@@ -3870,7 +3870,7 @@ msgid "Set book ID" - msgstr "" - - #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 --msgid "Extract common e-book formats from archives (zip/rar) files. Also try to autodetect if they are actually cbz/cbr files." -+msgid "Extract common e-book formats from archives (zip) files. Also try to autodetect if they are actually cbz files." - msgstr "" - - #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:644 -@@ -10866,7 +10866,7 @@ msgid "You can also customise the plugin locations using <b>Preferences -> Custo - msgstr "" - - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:33 --msgid "Set defaults for conversion of comics (CBR/CBZ files)" -+msgid "Set defaults for conversion of comics (CBZ files)" - msgstr "" - - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -diff --git a/src/calibre/utils/search_query_parser.py b/src/calibre/utils/search_query_parser.py -index d395057..4804b28 100644 ---- a/src/calibre/utils/search_query_parser.py -+++ b/src/calibre/utils/search_query_parser.py -@@ -445,16 +445,16 @@ class Tester(SearchQueryParser): +diff -Nur calibre-1.204.1.orig/src/calibre/utils/search_query_parser.py calibre-1.204.1/src/calibre/utils/search_query_parser.py +--- calibre-1.204.1.orig/src/calibre/utils/search_query_parser.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/utils/search_query_parser.py 2014-08-03 19:37:20.296922310 -0300 +@@ -445,16 +445,16 @@ u'Tor Books', u'lrf'], 8: [u'Stalky and Co.', u'Rudyard Kipling', u'manybooks.net', u'lrf'], @@ -569,7 +516,7 @@ index d395057..4804b28 100644 16: [u'Quicksilver', u'Neal Stephenson', None, u'lrf,zip'], 17: [u'The Comedies of William Shakespeare', u'William Shakespeare', -@@ -469,15 +469,15 @@ class Tester(SearchQueryParser): +@@ -469,15 +469,15 @@ None, u'lrf'], 20: [u'An Ideal Husband', u'Oscar Wilde', u'manybooks.net', u'lrf'], @@ -594,7 +541,7 @@ index d395057..4804b28 100644 30: [u'Genghis Khan and The Making of the Modern World', u'Jack Weatherford Orc', u'Three Rivers Press', -@@ -488,9 +488,9 @@ class Tester(SearchQueryParser): +@@ -488,9 +488,9 @@ u'lrf,zip'], 32: [u'The Killer Angels', u'Michael Shaara', None, u'html,lrf'], 33: [u'Band Of Brothers', u'Stephen E Ambrose', None, u'lrf,txt'], @@ -606,7 +553,7 @@ index d395057..4804b28 100644 37: [u'Masterman Ready', u'Marryat, Captain Frederick', None, u'lrf'], 38: [u'With the Lightnings', u'David Drake', -@@ -503,16 +503,16 @@ class Tester(SearchQueryParser): +@@ -503,16 +503,16 @@ 40: [u'The Far Side of The Stars', u'David Drake', u'Baen Publishing Enterprises', @@ -627,7 +574,7 @@ index d395057..4804b28 100644 44: [u'Harry Potter and the Order of the Phoenix', u'J. K. Rowling', None, -@@ -521,12 +521,12 @@ class Tester(SearchQueryParser): +@@ -521,12 +521,12 @@ 46: [u'The Stars at War II', u'Steve White', u'Baen Publishing Enterprises', @@ -643,7 +590,7 @@ index d395057..4804b28 100644 49: [u'Harry Potter and the Prisoner of Azkaban', u'J. K. Rowling', None, -@@ -539,20 +539,20 @@ class Tester(SearchQueryParser): +@@ -539,20 +539,20 @@ u'J.K. Rowling', None, u'lit,lrf,pdf'], @@ -669,7 +616,7 @@ index d395057..4804b28 100644 89: [u'Master and commander', u"Patrick O'Brian", u'Fontana,\n1971', -@@ -560,7 +560,7 @@ class Tester(SearchQueryParser): +@@ -560,7 +560,7 @@ 91: [u'A Companion to Wolves', u'Sarah Monette,Elizabeth Beär', None, @@ -678,7 +625,7 @@ index d395057..4804b28 100644 92: [u'The Lions of al-Rassan', u'Guy Gavriel Kay', u'Eos', u'lit,lrf'], 93: [u'Gardens of the Moon', u'Steven Erikson', u'Tor Fantasy', u'lit,lrf'], 95: [u'The Master and Margarita', -@@ -584,7 +584,7 @@ class Tester(SearchQueryParser): +@@ -584,7 +584,7 @@ 144: [u'Atonement', u'Ian McEwan', u'New York : Nan A. Talese/Doubleday, 2002.', @@ -687,7 +634,7 @@ index d395057..4804b28 100644 146: [u'1632', u'Eric Flint', u'Baen Books', u'lit,lrf'], 147: [u'1633', u'David Weber,Eric Flint,Dru Blair', u'Baen', u'lit,lrf'], 148: [u'1634: The Baltic War', -@@ -637,7 +637,7 @@ class Tester(SearchQueryParser): +@@ -637,7 +637,7 @@ 253: [u"Hunter's Run", u'George R. R. Martin,Gardner Dozois,Daniel Abraham', u'Eos', @@ -696,7 +643,7 @@ index d395057..4804b28 100644 257: [u'Knife of Dreams', u'Robert Jordan', None, u'lit,lrf'], 258: [u'Saturday', u'Ian McEwan', -@@ -657,7 +657,7 @@ class Tester(SearchQueryParser): +@@ -657,7 +657,7 @@ u'New York : Random House, 2005.', u'lit,lrf'], 269: [u'Reap the Whirlwind', u'David Mack', u'Star Trek', u'lit,lrf'], @@ -705,7 +652,7 @@ index d395057..4804b28 100644 273: [u'The Thousandfold Thought', u'R. Scott Bakker', u'Overlook TP', -@@ -665,17 +665,17 @@ class Tester(SearchQueryParser): +@@ -665,17 +665,17 @@ 276: [u'Elantris', u'Brandon Sanderson', u'New York : Tor, 2005.', @@ -727,7 +674,7 @@ index d395057..4804b28 100644 325: [u"Foundation's Triumph", u'David Brin', u'Easton Press', u'lit,lrf'], 327: [u'I am Charlotte Simmons', u'Tom Wolfe', u'Vintage', u'htm,lrf'], 335: [u'The Currents of Space', u'Isaac Asimov', None, u'lit,lrf'], -@@ -705,15 +705,15 @@ class Tester(SearchQueryParser): +@@ -705,15 +705,15 @@ u'Aspect', u'lit,lrf'], 356: [u'The Naked God', u'Peter F. Hamilton', u'Aspect', u'lit,lrf'], @@ -746,11 +693,10 @@ index d395057..4804b28 100644 } tests = { -diff --git a/src/calibre/web/feeds/feedparser.py b/src/calibre/web/feeds/feedparser.py -index 16085cf..420efaa 100755 ---- a/src/calibre/web/feeds/feedparser.py -+++ b/src/calibre/web/feeds/feedparser.py -@@ -2081,7 +2081,7 @@ class _MicroformatsParser: +diff -Nur calibre-1.204.1.orig/src/calibre/web/feeds/feedparser.py calibre-1.204.1/src/calibre/web/feeds/feedparser.py +--- calibre-1.204.1.orig/src/calibre/web/feeds/feedparser.py 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/src/calibre/web/feeds/feedparser.py 2014-08-03 19:37:20.296922310 -0300 +@@ -2081,7 +2081,7 @@ EMAIL = 5 known_xfn_relationships = set(['contact', 'acquaintance', 'friend', 'met', 'co-worker', 'coworker', 'colleague', 'co-resident', 'coresident', 'neighbor', 'child', 'parent', 'sibling', 'brother', 'sister', 'spouse', 'wife', 'husband', 'kin', 'relative', 'muse', 'crush', 'date', 'sweetheart', 'me']) @@ -759,3 +705,24 @@ index 16085cf..420efaa 100755 def __init__(self, data, baseuri, encoding): self.document = BeautifulSoup.BeautifulSoup(data) +diff -Nur calibre-1.204.1.orig/translations/calibre/main.pot calibre-1.204.1/translations/calibre/main.pot +--- calibre-1.204.1.orig/translations/calibre/main.pot 1989-12-31 22:00:00.000000000 -0200 ++++ calibre-1.204.1/translations/calibre/main.pot 2014-08-03 19:37:20.296922310 -0300 +@@ -3906,7 +3906,7 @@ + msgstr "" + + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 +-msgid "Extract common e-book formats from archives (zip/rar) files. Also try to autodetect if they are actually cbz/cbr files." ++msgid "Extract common e-book formats from archives (zip) files. Also try to autodetect if they are actually cbz files." + msgstr "" + + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:644 +@@ -11087,7 +11087,7 @@ + msgstr "" + + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:33 +-msgid "Set defaults for conversion of comics (CBR/CBZ files)" ++msgid "Set defaults for conversion of comics (CBZ files)" + msgstr "" + + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 |