51053 Commits

Author SHA1 Message Date
Charles Haley
8b756df123 Ooops -- forgot to change field_inlist to inlist_field in the template tester's highlighter and in a few places in the documentation. 2024-10-23 16:39:03 +01:00
Kovid Goyal
b31c87e3ee
... 2024-10-23 08:43:50 +05:30
Kovid Goyal
6f8b4d555c
Merge branch 'master' of https://github.com/cbhaley/calibre 2024-10-22 21:59:14 +05:30
Charles Haley
80453b3485 Better error handling in the format_date_field() formatter function 2024-10-22 16:46:13 +01:00
Charles Haley
1e766f8843 Changes to use a suffix instead of a prefix for 'field' functions and operators. 2024-10-22 13:56:34 +01:00
Kovid Goyal
3855552c19
Fix #2085312 [Tweaks editor - improve contrast in dark mode](https://bugs.launchpad.net/calibre/+bug/2085312) 2024-10-22 09:58:46 +05:30
Kovid Goyal
edefce2c78
... 2024-10-22 09:16:38 +05:30
Kovid Goyal
084e9cd755
Merge branch 'master' of https://github.com/cbhaley/calibre 2024-10-22 09:15:00 +05:30
Charles Haley
0e3f821cbb We're starting to get several functions and operators that directly operate on fields. I decided to use a naming convention where they begin with "field_". This commit changes the existing function format_date_field() to field_format_date(), adding an alias for the original name for compatibility. 2024-10-21 23:24:55 +01:00
Charles Haley
8e9b1812fb Changes to manage ... dialogs:
1) Add a counts column to the manage authors dialog.
2) Add tooltips to the manage ... dialogs
2024-10-21 21:41:21 +01:00
Charles Haley
b938f2500f New template operator 'field_inlist'. It operates directly on data in a multi-valued field instead of converting the field to a string then splitting it. 2024-10-21 16:47:43 +01:00
Kovid Goyal
ea498af93c
Cleanup previous PR 2024-10-21 18:50:32 +05:30
Kovid Goyal
2a727fa189
Merge branch 'shell-completion-ordering' of https://github.com/keszybz/calibre 2024-10-21 18:46:21 +05:30
Kovid Goyal
d9a8b6abad
Merge branch 'master' of https://github.com/cbhaley/calibre 2024-10-21 18:36:21 +05:30
Charles Haley
7957587ea4 Fix the link_map containing invalid item_ids.
I was able to reproduce the problem by renaming a series with a link to an existing series then running Manage Series. I can't guarantee that this fixes all cases, but it does fix this one.
2024-10-21 13:46:18 +01:00
Kovid Goyal
da08e3798b
Merge branch 'build-object-sorting' of https://github.com/keszybz/calibre 2024-10-21 17:34:40 +05:30
Zbigniew Jędrzejewski-Szmek
f51b20e5d9 build: sort headers and sources in plugin builds
I'd observe a difference in the debuginfo data for the plugins in rebuilds.
Various /usr/lib64/calibre/calibre/plugins/*.so files would be different, but
the source of the difference was in the link to debuginfo data, which in turn
appears to be caused by differences in sort order in various tables, caused by
the object files being listed in different order. setup/build.py writes out
pyproject.toml, which is turned into *.pro, which is turned into a Makefile.
Sorting the object files by name seems to fix this particular issue. This
makes local rebuilds reproducible for me.
2024-10-21 13:57:19 +02:00
Zbigniew Jędrzejewski-Szmek
5a85a0e167 build: sort objects in link commands
Build logs are easier to compare if the commands don't change. This
shouldn't have any effect on the build result.
2024-10-21 13:57:19 +02:00
Zbigniew Jędrzejewski-Szmek
86494089df Use stable ordering when writing shell completions
Set ordering is unstable (uses the hash for ordering), so the output file
would be different every time. Sort the sets into lists before writing. In
various places there were unnecessary "conversions", e.g. sorted() always
returns a list, so 'list(sorted(…))' is not useful.

In one place output is fixed to say: "Choices are: doc, ereader, ztxt" instead
of "['doc', 'ereader', 'ztxt']".

For module constants, just create the object directly. The code is easier to
read/edit when the list is constructed directly with items that are ordered in
the same way that is shown in various outputs (instead of being sorted
dynamically).

There is some more syntax confusion in src/calibre/linux.py. For example,
'"%s" % (x)' is the same as '"%s" % x', because just putting something in
parentheses does not create a tuple. It'd be nice to clean up this whole file
to use f-strings and not the error-prone %-formatting, but that's a separate
issue.

In a test build of the Fedora package, the generated file is now stable.
2024-10-21 12:21:30 +02:00
Kovid Goyal
0918f1b74a
... 2024-10-21 13:41:12 +05:30
Kovid Goyal
235ea54a5c
get_link_map() should not have None keys 2024-10-21 13:38:54 +05:30
Kovid Goyal
4e8006a0da
Fix #2085063 [Series Manager: KeyError](https://bugs.launchpad.net/calibre/+bug/2085063) 2024-10-21 09:43:19 +05:30
Kovid Goyal
6b035fb2c1
Ensure table_column_widths is present 2024-10-21 09:27:45 +05:30
Kovid Goyal
c99c8714b4
Clarify wording 2024-10-21 09:19:50 +05:30
Kovid Goyal
9beed389fe
... 2024-10-20 18:00:10 +05:30
Kovid Goyal
9891f149e1
Merge branch 'master' of https://github.com/cbhaley/calibre 2024-10-20 17:58:09 +05:30
Charles Haley
356e312eb1 Here is an implementation of has_key() where both Metadata and ProxyMetadata do the same thing. 2024-10-20 12:31:38 +01:00
Kovid Goyal
babc0b9e48
Content server: Fix changing the language of a book not working for non-English user interface language and for books that have no existing language. Fixes #2085005 [Calibre server fails updating book with Spanish characters](https://bugs.launchpad.net/calibre/+bug/2085005) 2024-10-20 15:32:00 +05:30
Kovid Goyal
bc1986121f
... 2024-10-20 14:11:08 +05:30
Kovid Goyal
4057ad3566
Linux: Piper TTS: Fix audio not playing on some Linux systems
Apparently setting a large buffer size causes some linux audio devices
to refuse to flush audio data. Sigh.
2024-10-20 14:04:15 +05:30
Kovid Goyal
1440a49cda
string changes 2024-10-20 13:57:35 +05:30
Kovid Goyal
b1eda321d2
Improve contrast in dark mode for some template highlighter colors 2024-10-20 13:25:53 +05:30
Kovid Goyal
a7736ab44d
Fix sentences in tail of parent element not being added 2024-10-20 13:21:56 +05:30
Kovid Goyal
50bdf1c8a8
Fix wrapping of multiple children 2024-10-20 12:49:53 +05:30
Kovid Goyal
1f87c3c87a
Edit book: A new tool to create audio narration of all text in the book using Text-to-speech 2024-10-20 11:20:22 +05:30
Charles Haley
8e22f1c7ce
Fix error check in field_list_count(). Also speeds it up a bit. 2024-10-20 08:44:56 +05:30
Kovid Goyal
12cccddba6
Sigh, old python 2024-10-20 08:44:56 +05:30
Charles Haley
4f46ae4707 New formatter function 'field_list_count('lookup_name')': returns the length of the multi-valued field 'lookup_name' without first converting it to a string. This is much faster than the existing function list_count() 2024-10-18 18:17:15 +01:00
Kovid Goyal
f52b5f8835
Disable Open Library as the site is down
Hopefully it's temporary otherwise the plugin will have to be removed
2024-10-18 15:18:30 +05:30
Kovid Goyal
758725699a
Run get_cached_url backends in parallel 2024-10-18 14:13:05 +05:30
Kovid Goyal
761e2b5c6f
Amazon metadata download: Switch the default backend to bing
Google discontinued its webcache and Wayback machine's webcache is
currently broken. And lots of google search result URLs are not indexed
in the bing web cache. So search using bing instead.
2024-10-18 13:59:50 +05:30
Kovid Goyal
75d31bb235
Ignore wayback machine cache url fetch errors when querying for the cached URL 2024-10-18 13:17:29 +05:30
Kovid Goyal
f35276dccb
Notes browser: When searching books search over all currently selected categories not just the last selected one 2024-10-18 12:15:49 +05:30
Kovid Goyal
59fa8a62d3
Fix some compiler warnings v7.20.0 2024-10-18 07:38:11 +05:30
Kovid Goyal
554df95f8f
version 7.20.0 2024-10-18 07:22:48 +05:30
Kovid Goyal
a3f4c961a5
Use window.parent rather than window.top to access iframe's parent
This prevents a cross origin error if the page is embedded inside a
third party iframe.
2024-10-17 22:00:33 +05:30
Kovid Goyal
6ea96a83f7
pep8 2024-10-17 15:45:27 +05:30
Kovid Goyal
40035f76da
Read aloud: Piper backend: Fix not working with voices whose names have non-ASCII characters on Windows. 2024-10-17 15:22:31 +05:30
Kovid Goyal
4643ca6a1d
embed_tts API in boss 2024-10-17 15:07:44 +05:30
Kovid Goyal
aaa3d2f658
Wire up progress UI for tts embed 2024-10-17 14:48:44 +05:30