52193 Commits

Author SHA1 Message Date
Kovid Goyal
aa1d792a44
DRYer 2025-11-20 15:07:29 +05:30
Kovid Goyal
22f3cec440
Editing book list: Be robust against the book list changing in the background when a book is auto added or similar while a cell is being added. Fixes #2131622 [Miss edit when rows ordre change during editing of a cell](https://bugs.launchpad.net/calibre/+bug/2131622) 2025-11-20 13:57:07 +05:30
Kovid Goyal
2f78ad94f8
Fix #2131629 [In the "Get books" advanced search filters, the "Price" field is ambiguous and lacks clarifying information, confusing users](https://bugs.launchpad.net/calibre/+bug/2131629) 2025-11-20 12:37:09 +05:30
Kovid Goyal
0146da93f5
E-book viewer: Highlights panel: Show the date for highlights in the tooltip when hovering over a highlight. Fixes #2131619 [Viewer - annotations timestamps](https://bugs.launchpad.net/calibre/+bug/2131619) 2025-11-20 12:07:03 +05:30
Kovid Goyal
57164bd6a2
Comments editor: When changing case preserve as much text formatting as feasible 2025-11-20 11:42:16 +05:30
Kovid Goyal
fcece2ad6a
Comments editor: Add shortcuts for case change operations. Select some text, right click and see the case change menu for the shortcuts. Fixes #2131158 [[Enhancement] Change case shortcuts in the metadata editor](https://bugs.launchpad.net/calibre/+bug/2131158) 2025-11-20 10:01:42 +05:30
Kovid Goyal
fca34b8da3
Replace use of deprecated std::wstring_convert 2025-11-19 11:11:46 +05:30
Kovid Goyal
2a10f39e68
Use std::to_chars for formatting float numbers as well
this gives us a larger representation in many cases since it tries to
represent floats to max precision, but that tradeoff is worth it for
dropping 2000 lines of C code.
2025-11-19 10:56:27 +05:30
Kovid Goyal
be304b6f99
Use std::to_chars instead of stb for uint->hex 2025-11-19 10:39:38 +05:30
Kovid Goyal
48153c0c4b
Merge branch 'polyglot-cleanup' of https://github.com/un-pogaz/calibre 2025-11-19 10:07:30 +05:30
Kovid Goyal
e4ce24c50f
cleanup previous PR 2025-11-19 10:00:14 +05:30
Kovid Goyal
5482dc7c6f
Merge branch 'rui-rebelo-hackaday' of https://github.com/rui-rebelo/calibre 2025-11-19 09:58:28 +05:30
Rui Rebelo
ac51188f82
Add Hack a Day logo 2025-11-18 17:46:00 +00:00
Rui Rebelo
7554d0873b
Add Hack a Day recipe
Added the Hack a Day recipe with description, and feed settings.
2025-11-18 17:41:54 +00:00
un-pogaz
367e051b4c iteritems (manual 3) 2025-11-18 16:14:51 +01:00
un-pogaz
ce13dfbb43 iteritems (manual 2) 2025-11-18 16:14:51 +01:00
un-pogaz
0d37a96eaa iteritems (manual 1) 2025-11-18 16:14:51 +01:00
un-pogaz
25c0040177 itervalues (manual) 2025-11-18 16:14:51 +01:00
un-pogaz
38771f3b80 iteritems (regex 5)
in iteritems\(([\w\.]+\[[\w\.]*\])\)
in \1.items()

replace iteritems() used on simple subscriptable in a for loop
2025-11-18 16:14:51 +01:00
un-pogaz
99cc1b52c8 itervalues (regex 4)
in itervalues\(([\w\.]+\([\w\.]*\))\)
in \1.values()

replace itervalues() used on simple function/methods in a for loop
2025-11-18 16:14:51 +01:00
un-pogaz
46a127b233 iteritems (regex 4)
in iteritems\(([\w\.]+\([\w\.]*\))\)
in \1.items()

replace iteritems() used on simple function/methods in a for loop
2025-11-18 16:14:51 +01:00
un-pogaz
8ed12a2e78 itervalues (regex 3)
(set|frozenset|list|tuple|enumerate|sorted|max|min|sum)\(itervalues\(([\w\.]+)\)
\1(\2.values()

replace itervalues() used on simple variables/attributs in a know iterable
2025-11-18 16:14:51 +01:00
un-pogaz
4ecf018231 iteritems (regex 3)
(set|frozenset|list|tuple|enumerate|sorted)\(iteritems\(([\w\.]+)\)
\1(\2.items()

replace iteritems() used on simple variables/attributs in a know iterable
2025-11-18 16:14:51 +01:00
un-pogaz
588f9439fb urllib.parse import (manual) 2025-11-18 16:14:50 +01:00
un-pogaz
1903f69416 urllib.request import (manual) 2025-11-18 15:39:52 +01:00
un-pogaz
7762bd97df urllib.error import (manual) 2025-11-18 15:39:52 +01:00
un-pogaz
58ee94a2af http_client import (manual 2) 2025-11-18 15:39:52 +01:00
un-pogaz
9c6a346fee http_client import (manual 1) 2025-11-18 15:39:52 +01:00
un-pogaz
1fb4460520 http_cookie import (manual) 2025-11-18 15:39:52 +01:00
un-pogaz
2ca38cb2c1 http_server import (manual) 2025-11-18 15:39:52 +01:00
un-pogaz
a8f13e4b79 html_entities import (manual) 2025-11-18 15:39:52 +01:00
un-pogaz
f59ea8fb41 importlib.reload (manual) 2025-11-18 15:39:52 +01:00
un-pogaz
0b926ea3cf polyglot lru_cache (regex)
from polyglot.functools import lru_cache
from functools import lru_cache
2025-11-18 15:39:52 +01:00
un-pogaz
93325d811a plistlib import (manual) 2025-11-18 15:39:52 +01:00
un-pogaz
d94d381f1b builtins import (manual) 2025-11-18 15:39:52 +01:00
un-pogaz
62ae8892c7 queue import (regex 2)
from polyglot import queue
import queue
2025-11-18 15:39:52 +01:00
un-pogaz
6e03ff7ef4 queue import (regex 1)
from polyglot.queue import
from queue import
2025-11-18 15:39:52 +01:00
un-pogaz
f8ac5b77cd reprlib import (manual) 2025-11-18 15:39:52 +01:00
un-pogaz
359034be8b native_string_type (manual) 2025-11-18 15:39:52 +01:00
un-pogaz
9df759ad36 native_string_type (pep8) 2025-11-18 15:39:52 +01:00
un-pogaz
3147274b38 native_string_type (regex)
native_string_type(
str(
2025-11-18 15:39:51 +01:00
un-pogaz
8258fcfb88 iterkeys (manual) 2025-11-18 15:39:51 +01:00
un-pogaz
072d8f2fec unicode_type (regex)
unicode_type(
str(
2025-11-18 15:39:51 +01:00
un-pogaz
2a9ea4550f long_type (regex)
long_type(
int(
2025-11-18 15:39:51 +01:00
un-pogaz
219a0d99f3 string_or_unicode (manual) 2025-11-18 15:39:51 +01:00
un-pogaz
e6e8d42e82 string_or_bytes (manual) 2025-11-18 15:39:51 +01:00
un-pogaz
be25741c2b string_or_bytes (regex)
isinstance\(([\w\.]+), string_or_bytes\)
isinstance(\1, (str, bytes))

replace string_or_bytes used on simple variables/attributs in a isinstance()
2025-11-18 15:39:51 +01:00
un-pogaz
f6e012d297 codepoint_to_chr (manual) 2025-11-18 15:39:51 +01:00
un-pogaz
47257e1262 codepoint_to_chr (regex)
codepoint_to_chr(
chr(
2025-11-18 15:39:51 +01:00
un-pogaz
94a51a1acc itervalues (regex 2)
from itervalues\(([\w\.]+)\)
from \1.values()
2025-11-18 15:39:51 +01:00