Commit Graph

37983 Commits

Author SHA1 Message Date
Kovid Goyal 6e414d293b Update London Review of Books
Fixes #1829339 [Private bug](https://bugs.launchpad.net/calibre/+bug/1829339)
2019-05-18 15:01:14 +05:30
Kovid Goyal 69f29dc1e1 ... 2019-05-18 13:01:47 +05:30
Kovid Goyal 4e604e52d7 PDF Output: Fix hang when converting some documents. Fixes #1829535 [ebook-convert hangs on some HTML to PDF conversions](https://bugs.launchpad.net/calibre/+bug/1829535) 2019-05-17 21:02:30 +05:30
Kovid Goyal 3d586aa15a PDF Output: Remove JS from HTML files before passing them to WebKit 2019-05-17 20:39:24 +05:30
Kovid Goyal c2e36408d3 py3: More unicode porting 2019-05-16 17:55:04 +05:30
Kovid Goyal fab8c8f2d4 py3: Use unicode_literals and no str() calls 2019-05-16 12:19:41 +05:30
Kovid Goyal cddb7d873c Add a nicer way to check for unicode issues in files 2019-05-16 12:18:34 +05:30
Kovid Goyal 81e037e38c Port calibre.startup to use unicode_literals 2019-05-15 21:23:55 +05:30
Kovid Goyal fc2409cdd8 Port calibre.__init__ to use unicode_literals 2019-05-15 21:19:22 +05:30
Kovid Goyal 7a4f44b6aa Report failure to parse files when running 2to3 2019-05-15 21:19:02 +05:30
Kovid Goyal f51e63718c Get rid of @dynamic_property 2019-05-15 20:39:48 +05:30
Kovid Goyal 846a1a5e9f Remove unused code 2019-05-15 17:02:01 +05:30
Kovid Goyal 17b84867dd Add a build test for getting unicode env vars on windows 2019-05-15 16:57:36 +05:30
Kovid Goyal 65a0eaeac2 oops 2019-05-15 16:54:45 +05:30
Kovid Goyal 2896bb3571 Finish getting rid of getcwdu() 2019-05-15 16:53:39 +05:30
Kovid Goyal a08bdbeb4e Dont depend on calibre in polyglot 2019-05-15 16:42:52 +05:30
Kovid Goyal bd118e6139 Framework to run 2to3 over the codebase 2019-05-15 16:13:12 +05:30
Kovid Goyal a78ede4c35 py3: Port constants.py to use unicode literals 2019-05-15 15:49:22 +05:30
Kovid Goyal 0cf114ada1 Handle newlines when serializing to csr files
See #1827198 (Book convertion loading regexPDF to epub)
2019-05-15 12:05:09 +05:30
Kovid Goyal b114528e3f Merge branch 'master' of https://github.com/cbhaley/calibre
Fixes #1828986 [Tag Browser Search Function Not Preserving Changes](https://bugs.launchpad.net/calibre/+bug/1828986)
2019-05-14 19:03:08 +05:30
Charles Haley 8fd98e6eb0 Bug 1828986: searching in manage tags throws away all changes 2019-05-14 12:48:35 +01:00
Kovid Goyal b1925a344a Edit metadata dialog: Remember relative sizes of the cover and comments editors. Fixes #1828291 [Editor dialog does not remember pane widths](https://bugs.launchpad.net/calibre/+bug/1828291) 2019-05-14 13:44:58 +05:30
Kovid Goyal 47aa91f7ba Remove margins around comments editor 2019-05-14 12:49:07 +05:30
Kovid Goyal 76d9f734e9 Fix #1828820 [calibre.utils.titlecase does not preserve whitespace](https://bugs.launchpad.net/calibre/+bug/1828820) 2019-05-14 11:59:09 +05:30
Kovid Goyal 7658dc65d9 Remove manual fixup of <br> in comments_to_html
Not needed with html5-parser 0.4.6
Modify the test to work with all versions of html5-parser
Fixes #990 (Update testsuite for html5-parser 0.4.6 changes)
2019-05-14 11:40:18 +05:30
Kovid Goyal c329776346 Bump version of html5-parser 2019-05-13 12:36:10 +05:30
Kovid Goyal 969ad38858 Merge branch 'staged-install' of https://github.com/eli-schwartz/calibre 2019-05-13 11:16:07 +05:30
Eli Schwartz 1aecd23852 calibre-uninstall: be even more thorough about deleting mime files
Since xdg-mime only cares about basename(filename) and that filename is
an existing file (and we don't know where the installed one is), create
an empty file with the right name and then delete that.
2019-05-12 18:14:42 -04:00
Eli Schwartz ae02c30a17 install: first install code, then binaries
Since installing code will also delete a directory tree, it should run
first. This avoids exotic cases where it deletes the binaries it just
installed.

Use case: co-installing python2/python3 using a bindir bundled with the
rest of calibre's code, in order to maintain an alternatives system
pointing symlinks in /usr/bin at the configured binaries.
2019-05-12 18:14:42 -04:00
Eli Schwartz 121a5acad0 install: don't create calibre-uninstall for staged installs
The uninstaller is only meant to be used on systems where calibre is
being installed live. For staged installs, it can be assumed that the
same mechanism which takes care of installing files from the staging dir
to live systems, is also able to remove calibre when desired. Usually
this will be a linux package manager.
2019-05-12 18:14:42 -04:00
Eli Schwartz adcc2c5539 install: fix calibre-uninstall relying on the source tree
Injecting the location of the mime_resources file from P() in non-frozen
builds will depend on the mime resource from the source tree rather than
the same location during install time... a source tree which may be
deleted after successful installation. On a frozen build, or when using
'develop' instead of 'install', this path will be the same, and things
just work.

The solution is to add *both* paths, and try to uninstall whichever one
exists.
2019-05-12 18:14:42 -04:00
Eli Schwartz 2a63948440 install: when using a staging root, setup XDG_DATA_DIRS magic
In order for xdg-utils programs to successfully install resources to the
staging root instead of /usr, this variable needs to be set and
additionally some arcane directories must be created that xdg-utils,
astoundingly, does not know how to just gracefully handle.

xdg-mime is simply hopeless as it does not have a --noupdate flag. When
using a staged install, copy it with shutil instead.
2019-05-12 18:14:42 -04:00
Kovid Goyal 61eef65bb6 Merge branch 'git_version' of https://github.com/eli-schwartz/calibre 2019-05-12 12:45:16 +05:30
Eli Schwartz 9dc1ccfe08 setup: add subcommand to update the version in constants.py from git
This creates an additional variable containing the version number
extracted from a git checkout via `git describe`, and diverts all
human-readable output to use that via get_version.
2019-05-12 02:32:59 -04:00
Kovid Goyal e3c889b10d Merge branch 'py3' of https://github.com/eli-schwartz/calibre 2019-05-12 11:08:35 +05:30
Eli Schwartz dc96af5763 py3: textwrap.dedent requires unicode strings, encode after the fact
Also all the format arguments are unicode strings, *and* in the wisdom
of python3, you can % format a bytestring but not .format() it.
2019-05-12 01:17:13 -04:00
Eli Schwartz aa8efc504d py3: make user auth work; don't mess with encodings for strftime
The Windows-specific hack initially added in commit
8743efbed1 should be able to be removed
now as it is no longer necessary. The python encoding on Windows is sane
in python3.
2019-05-12 01:17:13 -04:00
Eli Schwartz ba0a4992b6 py3: save server preferences using bytestrings 2019-05-12 01:17:13 -04:00
Eli Schwartz 457eea7407 py3: use correct __next__ method
I'm not sure why this is storing a seemingly unused method-wrapper
object, but it needs to use the correctly named one on python2/python3.
2019-05-12 01:17:13 -04:00
Eli Schwartz aa44bf1cd1 py3: hashlib .hexdigest() always returns a hexadecimal string
This is a subset of ascii and cannot be decoded.
2019-05-12 01:17:13 -04:00
Kovid Goyal 2cb8f6b076 py3: misc fixes 2019-05-11 08:12:25 +05:30
Kovid Goyal 9bc4d1d375 Merge branch 'master' of https://github.com/davidfor/calibre 2019-05-09 17:16:08 +05:30
David f7b0190b45 Bump supported Kobo firmware version
No changes needed except the supported firmware and database versions.
2019-05-09 21:21:48 +10:00
Kovid Goyal 96429111a1 Fix a regression in get_trnaslator
d1f94b510c meant that English null translator was not being returned for
lang when language included country code.
2019-05-09 16:17:12 +05:30
Kovid Goyal 87b54360f3 oops 2019-05-07 08:35:21 +05:30
Kovid Goyal 1dce5118b9 Merge branch 'toolbar-sort' of https://github.com/eli-schwartz/calibre 2019-05-07 07:55:18 +05:30
Eli Schwartz 1c23908049 preferences: fix sort order when moving an action out of the toolbar
The sort() call is operating on objects that have no comparison
functions and span multiple types, so they were always compared by their
hash(). This resulted in adding an action, then removing it, causing the
entire "Available Actions" box to be sorted seemingly at random.

This was uncovered during python3 porting, as the objects cannot be
compared at all and therefore return errors.

The default sort order (before anything is done) is to sort based on
pretty names, and therefore use this as the sort key when re-sorting.
2019-05-06 22:08:24 -04:00
Kovid Goyal b0591e5f60 Merge branch 'py3' of https://github.com/eli-schwartz/calibre 2019-05-07 07:27:42 +05:30
Eli Schwartz 8e773ae855 py3: fix metadata panel showing roman series numbers
python3 zip() is depleted the first time you use it, but this will need
to be used many times.
2019-05-06 17:17:34 -04:00
Kovid Goyal 0b79aa763c Add some deps to Linux chroot for Qt 2019-05-06 11:57:09 +05:30