38435 Commits

Author SHA1 Message Date
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
Kovid Goyal
ced7df0b20
Remove unnecessary list comprehension 2019-08-20 14:16:26 +05:30
Kovid Goyal
1a53ef945a
Dont rely on the shell to restart calibre on macOS 2019-08-20 14:14:10 +05:30
Kovid Goyal
b657ba60d7
Update Foreign Affairs 2019-08-19 08:27:33 +05:30
Kovid Goyal
099cbca59c
Get parse_index() working for foreign affairs AJAX backend 2019-08-18 17:52:49 +05:30
Kovid Goyal
d7458841e1
Update bundled mechanize 2019-08-18 14:09:19 +05:30
Kovid Goyal
9808bf69c9
Update derStandaard 2019-08-18 13:03:45 +05:30
Kovid Goyal
7460a12a4b
Complete fix for WSJ login logic change 2019-08-14 20:52:37 +05:30
Kovid Goyal
ac9f1fc2d9
change wording slightly 2019-08-14 08:50:06 +05:30
Kovid Goyal
4353f2ab9d
Update Globe and Mail 2019-08-14 06:50:51 +05:30
josue
175b747657 Updated The Globe and Mail recipe: article titles no longer include section the article belongs to, added article meta data to remove tags because it was taking up almost 1 full page of dummy text, added real estate section, updated newspaper name to its proper one 2019-08-13 21:08:05 -04:00
Kovid Goyal
b9d5842e00
Update CNET News 2019-08-13 20:12:36 +05:30
Kovid Goyal
6c3fd548a5
... 2019-08-13 11:16:41 +05:30
Kovid Goyal
c5aeaa8c8a
Cleanup HTML metadata parsing 2019-08-12 10:10:50 +05:30
Kovid Goyal
44e54bffc4
Merge branch 'html_identifier_import' of https://github.com/cszucko/calibre 2019-08-12 09:00:10 +05:30
Christopher Szucko
b12c75c904 Add unit tests for HTML metadata imports 2019-08-11 10:14:15 -05:00
Christopher Szucko
a81ff78c0a Escape HTML entities in comments 2019-08-11 10:13:25 -05:00
Christopher Szucko
8cbaa3a9e2 Fix importing ratings from HTML metadata
The HTML import was assuming ratings were out of 5 but the internal representation is out of 10
2019-08-11 10:13:25 -05:00
Christopher Szucko
d36a23d795 Refactor HTML metadata parsing
Use an HTMLParser rather than regex, only parse the document once, and add handling for multiple values for authors, tags, and languages
2019-08-11 10:13:25 -05:00
Kovid Goyal
5d1379fbec
Speed up restoring original format by doing a rename rather than a copy and re-add. Fixes #1839733 [Restore pre conversion originals very slow](https://bugs.launchpad.net/calibre/+bug/1839733) 2019-08-11 19:23:50 +05:30
Kovid Goyal
91a0659a9c
EPUB 3: Fix setting metadata in EPUB 3 files with a title not working 2019-08-10 22:15:36 +05:30