45287 Commits

Author SHA1 Message Date
Charles Haley
c4d9b25446 Fix labels being interchanged for two tag browser shortcuts 2021-09-30 15:08:56 +01:00
Kovid Goyal
33353ef3a7
Dont use an f-string in check_version_info since it will cause a syntaxerror on older python 2021-09-30 13:44:56 +05:30
Kovid Goyal
cc682db2ba
Merge branch 'deobjectify-classes' of https://github.com/keszybz/calibre 2021-09-30 13:41:09 +05:30
Kovid Goyal
bc6e9cff20
Merge branch 'suppress-brokenpipeerror' of https://github.com/keszybz/calibre 2021-09-30 13:32:03 +05:30
Kovid Goyal
bc61cf92d2
Merge branch 'setup-version-check' of https://github.com/keszybz/calibre 2021-09-30 13:20:20 +05:30
Zbigniew Jędrzejewski-Szmek
9d63b6ae56 Drop (object) from class definitions
Python2 had old-style classes (no "(object)"), and new style classes (with
"object"). Under Py3 this is a noop, so let's drop it to make the code
a bit shorter.
2021-09-30 09:23:56 +02:00
Kovid Goyal
0db1b7662d
Merge branch 'makedirs-crash' of https://github.com/keszybz/calibre 2021-09-30 12:44:49 +05:30
Zbigniew Jędrzejewski-Szmek
fa8bbfda15 Suppress BrokenPipeError in logging
https://bugzilla.redhat.com/show_bug.cgi?id=1903583 sports the following traceback:
Traceback (most recent call last):
  File "/usr/bin/ebook-convert", line 20, in <module>
    sys.exit(main())
  File "/usr/lib64/calibre/calibre/ebooks/conversion/cli.py", line 401, in main
    plumber.run()
  File "/usr/lib64/calibre/calibre/ebooks/conversion/plumber.py", line 1135, in run
    pr(0., _('Running transforms on e-book...'))
  File "/usr/lib64/calibre/calibre/ebooks/conversion/plumber.py", line 67, in __call__
    self.global_reporter(global_frac, msg)
  File "/usr/lib64/calibre/calibre/ebooks/conversion/cli.py", line 288, in __call__
    self.log('%d%% %s'%(percent, msg))
  File "/usr/lib64/calibre/calibre/utils/logging.py", line 179, in __call__
    self.info(*args, **kwargs)
  File "/usr/lib64/calibre/calibre/utils/logging.py", line 171, in print_with_flush
    self.flush()
  File "/usr/lib64/calibre/calibre/utils/logging.py", line 191, in flush
    o.flush()
  File "/usr/lib64/calibre/calibre/utils/logging.py", line 53, in flush
    self.stream.flush()
BrokenPipeError: [Errno 32] Datenübergabe unterbrochen (broken pipe)

If logging fails because somebody closed the output pipe, this is not an error.
Let's just ignore this this silently.

I removed the two .flush() implementations because those two classes inherit
from Stream.
2021-09-30 09:11:16 +02:00
Zbigniew Jędrzejewski-Szmek
2d5322a645 setup: simplify version check
A tuple comparison is equivalent to the more complicated check,
and exit() is the same as raise SystemExit().
2021-09-30 08:56:17 +02:00
Zbigniew Jędrzejewski-Szmek
9b9d6728ef conversions: use makedirs(exist_ok=True)
https://bugzilla.redhat.com/show_bug.cgi?id=1922761 reports the following
failure:

Traceback (most recent call last):
  File "/bin/ebook-edit", line 20, in <module>
    sys.exit(ebook_edit())
  File "/usr/lib64/calibre/calibre/gui_launch.py", line 119, in ebook_edit
    main(args)
  File "/usr/lib64/calibre/calibre/gui2/tweak_book/main.py", line 98, in main
    _run(args)
  File "/usr/lib64/calibre/calibre/gui2/tweak_book/main.py", line 66, in _run
    from calibre.gui2.tweak_book.ui import Main
  File "/usr/lib64/calibre/calibre/gui2/tweak_book/ui.py", line 29, in <module>
    from calibre.gui2.tweak_book.boss import Boss
  File "/usr/lib64/calibre/calibre/gui2/tweak_book/boss.py", line 28, in <module>
    from calibre.ebooks.oeb.polish.main import SUPPORTED, tweak_polish
  File "/usr/lib64/calibre/calibre/ebooks/oeb/polish/main.py", line 20, in <module>
    from calibre.ebooks.oeb.polish.jacket import (
  File "/usr/lib64/calibre/calibre/ebooks/oeb/polish/jacket.py", line 9, in <module>
    from calibre.ebooks.conversion.config import load_defaults
  File "/usr/lib64/calibre/calibre/ebooks/conversion/config.py", line 20, in <module>
    os.makedirs(config_dir)
  File "/usr/lib64/python3.9/os.py", line 225, in makedirs
    mkdir(name, mode)
FileExistsError: [Errno 17] Arquivo existe: '/home/vinicius/.config/calibre/conversion'

I assume that the user had two calibre instances started, and they raced on
the check and creation of the directory. Let's use os.makedirs(exist_ok=True).
(added in Python 3.2).

Also, only create the directories when saving/reading the file, not when the
module is imported.
2021-09-30 08:43:15 +02:00
Kovid Goyal
52c55cc42e
Update New York Review of Books 2021-09-28 08:23:15 +05:30
Kovid Goyal
a129b416e9
Edit book: See what changed: Fix non-BMP unicode characters causing highlighting of changed words to be slightly misplaced 2021-09-27 08:30:51 +05:30
Kovid Goyal
559dae66ee
Add a bit of text to make double clicking to edit more discoverable in the diff dialog 2021-09-27 08:15:41 +05:30
Kovid Goyal
36631868f5
PDF Output: Fix a regression that broke conversion of comics that contain 1-bit images 2021-09-26 21:49:01 +05:30
Kovid Goyal
5bf68b5971
When getting identifiers for a book use a copy of the dict
Fixes #1945098 [5.28 Forgets or reverts identifiers](https://bugs.launchpad.net/calibre/+bug/1945098)
2021-09-26 20:07:49 +05:30
Kovid Goyal
32e9dc32b2
Workaround for pycryptodome using RTLD_DEEPBIND
This breaks ASAN, see https://github.com/google/sanitizers/issues/611
So, patch it out when installing. Upstream pycryptodome issue:
https://github.com/Legrandin/pycryptodome/issues/376
2021-09-26 10:23:28 +05:30
Kovid Goyal
5f6dcd9e8b
Edit book: Fix pressing Ctrl+Tab inserting a tab at the start of a line instead of switching tabs 2021-09-26 08:37:24 +05:30
Kovid Goyal
95fc272b5b
Edit book: When changing a paragraph to a heading if the cursor is adjacent to a paragraph tag but not inside any tags other than body, use the adjacent tag 2021-09-24 10:55:27 +05:30
Kovid Goyal
932c37d9e1
Specify encoding when reading changelog v5.28.0 2021-09-24 07:25:12 +05:30
Kovid Goyal
7108eca442
version 5.28.0 2021-09-24 07:15:51 +05:30
Kovid Goyal
39ca1c185e
pep8 2021-09-23 10:43:13 +05:30
Kovid Goyal
35180e7251
E-book viewer: Allow pressing the 0-9 keys to apply a quick highlight style. Fixes #1944614 [[Enhancement] Add hotkeys for applying specific highlighting colors](https://bugs.launchpad.net/calibre/+bug/1944614) 2021-09-23 08:50:47 +05:30
Kovid Goyal
ed10c3e0cb
Sanitize XML chars when parsing html fails in the comments editor widget 2021-09-23 08:47:05 +05:30
Kovid Goyal
f2dcb7a967
Fix #1944615 [[Enhancement] "Remove this highlight" would benefit from another hotkey](https://bugs.launchpad.net/calibre/+bug/1944615) 2021-09-23 07:47:23 +05:30
Kovid Goyal
d12e14b236
Edit book: When renaming classes in style sheets only recognize class names preceded by a period. Fixes #1944562 [Renaming class called "body" renames rules for body element](https://bugs.launchpad.net/calibre/+bug/1944562) 2021-09-22 20:34:37 +05:30
Kovid Goyal
ef2e2c714c
Edit metadata dialog: Customize cover generation: Allow saving and loading cover generation settings as "themes" 2021-09-22 16:08:10 +05:30
Kovid Goyal
01d00310b8
E-book viewer: Fix lookup in Google partially hidden due to change in Google results page markup 2021-09-22 13:33:58 +05:30
Kovid Goyal
4cf5350a7c
Conversion dialog: Search replace expression builder: Fix incorrect search result highlighting when non-BMP unicode characters are present in the text 2021-09-22 12:19:21 +05:30
Kovid Goyal
3f65b62e96
Fix #1944487 [TOC not aligned properly when screen width not enough](https://bugs.launchpad.net/calibre/+bug/1944487) 2021-09-22 10:43:58 +05:30
Kovid Goyal
8c18cba3a7
E-book viewer: Fix popup footnote blank when the footnote link points to a <body> tag. Fixes #1943270 [Private bug](https://bugs.launchpad.net/calibre/+bug/1943270) 2021-09-22 08:59:18 +05:30
Kovid Goyal
27b06b16b1
Book details panel: While clicking tags/authors/etc. holding down the Ctrl+Shift modifier keys now add the tag to the current search with
"AND" instead of "OR" when using only Ctrl. Fixes #1943521 [Ctrl-clicking on tag browser & book details ignores "match all items."](https://bugs.launchpad.net/calibre/+bug/1943521)
2021-09-22 08:25:36 +05:30
Kovid Goyal
752aaab533
Add a bug reference 2021-09-21 22:44:36 +05:30
Kovid Goyal
747b08689e
E-book viewer: Fix jumping to highlights in text that occurs after a line break and newline character not working in paged mode. Fixes #1944433 [Viewer: Highlight jumps to wrong page](https://bugs.launchpad.net/calibre/+bug/1944433)
Works around a bug in Chromium where the bounding rect for a range
containing just the newline is zero size at top-left corner.
2021-09-21 22:30:44 +05:30
Kovid Goyal
dc2866315b
Refactor code into separate functions 2021-09-21 22:06:24 +05:30
Kovid Goyal
8713c65f4b
Add an option to the preferences drop down menu to restart calibre without third party plugins. Fixes #1944057 [[Enhancement] Additional option for Preference](https://bugs.launchpad.net/calibre/+bug/1944057) 2021-09-21 13:53:25 +05:30
Kovid Goyal
325ced46cb
PDF Input: Add dummy alt text to images to silence the egregious epubcheck 2021-09-21 09:27:20 +05:30
Kovid Goyal
058353b278
... 2021-09-21 09:00:01 +05:30
Kovid Goyal
a8e449dcbc
Kindle Output: Strip EXIF metadata from JPEG images as the Kindle renderer has issues with it. Fixes #1943495 [Lockscreen covers not shown on Kindle for JPEGs with EXIF information](https://bugs.launchpad.net/calibre/+bug/1943495) 2021-09-21 08:55:25 +05:30
Kovid Goyal
67cb2f6ff1
Use a single point of truth for the location of the bug tracker 2021-09-20 19:16:40 +05:30
Kovid Goyal
ae1a69beb9
Add SECURITY.md 2021-09-20 19:15:34 +05:30
Kovid Goyal
f5079f936d
Fix #1944034 [The Video image hides text in FOX News article](https://bugs.launchpad.net/calibre/+bug/1944034) 2021-09-19 10:20:40 +05:30
Kovid Goyal
286e53b0c8
Bump version of mechanize 2021-09-19 09:29:22 +05:30
Kovid Goyal
93a8e83b93
Better workaround for wsj free index page getting stuck 2021-09-17 08:22:55 +05:30
Kovid Goyal
1b6faaa3bc
... 2021-09-15 12:07:19 +05:30
Kovid Goyal
9f4aeef7c9
string changes 2021-09-15 11:55:20 +05:30
Kovid Goyal
e7d1461959
Merge branch 'master' of https://github.com/cbhaley/calibre 2021-09-14 23:11:11 +05:30
Charles Haley
b20e786080 Add a change event test setting an already empty many-many field (tags) to empty. 2021-09-14 18:34:18 +01:00
Kovid Goyal
e7d21ecd3f
Merge branch 'master' of https://github.com/cbhaley/calibre 2021-09-14 18:09:02 +05:30
Charles Haley
4aed65f7a7 Add some changed_event tests. 2021-09-14 13:03:00 +01:00
Kovid Goyal
d45540686d
Fix many_many writes coverwriting equal values because of optimisation 2021-09-14 14:59:17 +05:30