Commit Graph

38755 Commits

Author SHA1 Message Date
Eli Schwartz db9ebeb2d5 do not cast unicode_literals string to str()
It throws off unicode_check and is wasteful anyway...
2019-09-08 13:46:50 +05:30
Eli Schwartz c05fdfa1c6 use unicode_type instead of introspecting type('') 2019-09-08 13:46:50 +05:30
Eli Schwartz 519cf86786 sorted() is always a list and takes any iterable 2019-09-08 13:46:50 +05:30
Eli Schwartz 00559bef8f misc cleanup 2019-09-08 13:46:50 +05:30
Kovid Goyal ac81ccedb3 Set up CI with Azure Pipelines 2019-09-08 13:46:50 +05:30
Kovid Goyal 91066f2010 version 3.47.1 2019-09-08 13:46:50 +05:30
Kovid Goyal 0b03e331c2 Fix #1842183 [calibre.exe uses CPU during idle with Download cover popup window open](https://bugs.launchpad.net/calibre/+bug/1842183) 2019-09-08 13:46:49 +05:30
Charles Haley 8281ab4318 Bug #1842158: fix regression in commit <b8b5c4e> 25 July 2019 08:52:35. 2019-08-31 11:54:12 +01:00
Kovid Goyal 6fbc6e6e04 Handle BS API change in Le Monde recipe 2019-08-31 15:19:56 +05:30
Kovid Goyal 5dad6c60ee Fix a regression that broke restarting calibre on macOS 2019-08-31 14:04:17 +05:30
Kovid Goyal 20486dd0a3 Remove unused code 2019-08-31 08:21:42 +05:30
Kovid Goyal 1156e8209a Book details: Fix a regression in the previous release that broke the right click search the internet function
Fixes #1842090 ["Search the internet for..." right-click options fail](https://bugs.launchpad.net/calibre/+bug/1842090)
2019-08-30 20:57:05 +05:30
Kovid Goyal 05834f0b42 PDF Input: Fix < and > in the text not being correctly handled 2019-08-30 08:03:08 +05:30
Kovid Goyal b0fe64571e Fix regex for py3 2019-08-30 07:56:18 +05:30
Kovid Goyal 260c330da3 pep8 v3.47.0 2019-08-30 06:41:15 +05:30
Kovid Goyal 9796c9f80c version 3.47.0 2019-08-30 06:35:07 +05:30
Kovid Goyal 85ccc7bdfc Dont pass on requests to open executables to the OS from ebooks/metadata
This is because some OSes (windows) actually launch these executables
without asking the user
2019-08-29 20:15:00 +05:30
Kovid Goyal 9cf6125f19 misc fixes from last py3 merge 2019-08-29 18:20:49 +05:30
Kovid Goyal da5b6f898f ... 2019-08-29 13:18:18 +05:30
Kovid Goyal c82543bb6b Merge branch 'py3' of https://github.com/eli-schwartz/calibre 2019-08-29 13:12:13 +05:30
Eli Schwartz b4dfa7378f py3: more work toward universal __future__s 2019-08-28 16:57:11 -04:00
Eli Schwartz cf24ed3d00 misc cleanup set([]) 2019-08-28 16:57:11 -04:00
Eli Schwartz d12af03e00 __future__.unicode_literals: don't use r'C:\U' as python2 dislikes it
You get this instead:

SyntaxError: (unicode error) 'rawunicodeescape' codec can't decode bytes in position 2-3: truncated \uXXXX

It does work fine in python3 with native unicode str()
2019-08-28 16:57:11 -04:00
Eli Schwartz dde0e3cd9d py3: make sure division is really floored 2019-08-28 16:57:11 -04:00
Eli Schwartz c9f8ffedb1 micro-optimization: sorted() can take any iterable and returns a list
So there is no need to convert everything to lists before and after.
Also, all_formats is immediately converted to a set, and kept that way,
so it does not need to always be accessed as set(all_formats).
2019-08-28 16:57:11 -04:00
Eli Schwartz 04a37cdf3b simplify building list of input/output formats
QComboBox.addItems() accepts any iterable, and there's no reason to use
map plus a list comprehension to operate on the same data.

- input_formats will currently be lowercase, output_formats is uppercase.
  Without documenting this inconsistent internal API, don't rely on it.

- While all builtin output plugins should have unicode_literals compatible
  file_type attributes, at least this assumption might break for custom
  plugins, so continue mapping to unicode_type.

Well, at least we can reduce the number of allocated lists.
2019-08-28 16:57:11 -04:00
Kovid Goyal 62a4659148 Update Esquire 2019-08-27 19:25:31 +05:30
Kovid Goyal f8f464efc0 Content server OPDS: Handle form encoded search queries. Fixes #1841464 [calibre server search by URL with multiple words not working](https://bugs.launchpad.net/calibre/+bug/1841464) 2019-08-27 13:42:03 +05:30
Kovid Goyal 8d96d125e8 Merge branch 'update-mathjax' of https://github.com/eli-schwartz/calibre 2019-08-25 10:06:08 +05:30
Eli Schwartz c161fbe54a resources: bump mathjax version to 2.7.6
There is actually no real consequential change here, because the update
is a trivial bugfix that doesn't affect calibre's use, but let's do it
anyway because it is both simple and harmless.
2019-08-25 00:21:03 -04:00
Kovid Goyal 60c0290e1c py3 compat: Fix right clicking in file list not working 2019-08-24 07:32:00 +05:30
Kovid Goyal 6b448bf935 misc fixes for previous py3 merge 2019-08-21 20:57:06 +05:30
Kovid Goyal 9c49e000d1 ... 2019-08-21 20:48:18 +05:30
Kovid Goyal 179d5812b1 More set([]) -> set() 2019-08-21 20:44:14 +05:30
Kovid Goyal 967006043b Dont use > to test for non-empty strings 2019-08-21 19:56:30 +05:30
Kovid Goyal ae35cdd814 Fix #1033 (py3: When changing a dict, iterate over a copy of its items) 2019-08-21 19:47:11 +05:30
Kovid Goyal efd5eefa0f Micro-optimization 2019-08-21 19:45:27 +05:30
Kovid Goyal 7b936ee3ea Merge branch 'py3' of https://github.com/eli-schwartz/calibre 2019-08-21 14:03:23 +05:30
Kovid Goyal 60d4bbf57d py3 compat 2019-08-20 21:09:20 +05:30
Eli Schwartz 80beb72b65 py3: more work toward universal __future__s 2019-08-20 07:56:02 -04:00
Eli Schwartz 1cd54361c0 micro-optimize: use sorted(generator) instead of sorted(newlist)
Or just use the initial value.
2019-08-20 07:55:54 -04:00
Eli Schwartz 074e3ff829 py3: use QByteArray().data() to get bytestring instead of str()
b'1' can be mapped into an int, but 'b"1"' cannot. Also rename one
instance -- the QMimeData class requires using the data() method to
retrieve content, and QByteArray uses data() to retrieve the raw bytes,
but once we get to data.data().data() it's a bit ridiculous. So make the
first one be called md, as is used in other mime handling code too.
2019-08-20 07:52:42 -04:00
Eli Schwartz 6ce8e01801 py3: use for loop/hardcode instead of map to process many arguments
Even though we adapted to python3 by using a tuple to ensure the
function is actually applied, this still uses a surprising language
feature then allocate a tuple that is immediately tossed away.
2019-08-20 07:52:42 -04:00
Eli Schwartz f7aa4cda79 simplify path construction with os.path.join 2019-08-20 07:52:41 -04:00
Eli Schwartz af81778588 remove unworking, unlisted recipe from 2011
This was incorrectly named *.py, so it was never added to
builtin_recipes.zip and could not be used. Attempting to rename and use
it yields 404 errors for each feed, so it cannot be trivially rescued;
therefore, delete it.
2019-08-20 07:52:41 -04:00
Eli Schwartz 2fe269a161 Use https urls where possible. 2019-08-20 07:52:41 -04:00
Eli Schwartz 96c71e7ae4 QbyteArray().data() is always bytes and does not need to be cast to it
a dbus.ByteArray() can simply be initialized from the QByteArray
directly.
2019-08-20 07:52:41 -04:00
Eli Schwartz d0a30b1f84 py3: add string_or_unicode to polyglot
To facilitate universal __future__s, we prefer native_string_type to
str. Since we cannot compare things as instance(f, (str, unicode_type))
and it gets a bit ridiculous to compare:

from polyglot.builtins import native_string_type, unicode_type
isinstance(f, (native_string_type, unicode_type))

allow using isinstance(f, string_or_unicode) instead. This matches the
existing string_or_bytes comparator.
2019-08-20 07:52:41 -04:00
Eli Schwartz 24cd46cc70 misc cleanup set([]) 2019-08-20 07:52:41 -04:00
Kovid Goyal 06755d5eba Fix an error when adding files from clipboard and file is of unknown type 2019-08-20 16:08:40 +05:30