Commit graph

42 commits

Author SHA1 Message Date
Bart Schuurmans e7f95ef4c2 Modify update_fields in save() when modifying objects
https://docs.djangoproject.com/en/5.0/releases/4.2/#setting-update-fields-in-model-save-may-now-be-required
2024-04-25 15:53:53 +02:00
Bart Schuurmans 0d621b68e0 Reorder operations in save() overrides
Accessing many-to-many relations before saving is no longer allowed.

Reorder all operations consistently:
1. Validations
2. Modify own fields
3. Perform save by calling super().save()
4. Modify related objects and clear caches

Especially clearing caches should be done after actually saving, otherwise the old data can be
re-added immediately by another request before the new data is written.
2024-04-25 10:12:30 +02:00
Bart Schuurmans 4f58b11330 Include the correct protocol and port in remote IDs 2024-04-24 15:35:19 +02:00
Mouse Reeve 73630331d1
Merge pull request #3299 from Minnozz/absorb
Track which Author/Work/Edition a duplicate has been merged into
2024-04-09 05:55:44 -05:00
Bart Schuurmans 5e123972e8 BookDataModel: implement merge_into method 2024-03-23 19:28:57 +01:00
Bart Schuurmans 0795b4d171 Include Author aliases in Book search vector 2024-03-23 19:26:51 +01:00
Bart Schuurmans 2de35f3fc7 Calculate Author search vector with name and aliases 2024-03-23 19:26:51 +01:00
Adeodato Simó 9bcb5b80ea
Further simplify bookwyrm_author trigger 2023-11-25 18:13:40 -03:00
Adeodato Simó bcb3a343d4
Fix JOIN in author_search_vector_trigger, add missing WHERE clause 2023-11-25 16:23:21 -03:00
Adeodato Simó 416a6caf2d
Define author_search_vector_trigger via Author.Meta.triggers
Previously, triggers lived only in a particular migration file. With
this change, code for the triggers resides in the model, and their
lifecycle is managed through normal Django migrations.
2023-11-25 16:17:51 -03:00
Adeodato Simó e4d688665c
Remove index for author.search_vector, which is never used 2023-11-24 22:43:12 -03:00
Joeri de Ruiter ff8e4597e5 Type annotations for utils 2023-08-21 12:56:32 +02:00
Jascha Urbach 54e0fdd5ae
Here we go again! 2023-01-15 09:41:39 +01:00
Mouse Reeve dd2b166382
Revert "Add Website field to author" 2023-01-11 19:21:40 -08:00
Jascha Urbach 2d76595af6
Add Website field to author
Authors have Websites. that might be interesting for BookWyrm users. Now there is a field specify the website of an author and it is shown tu users under the wikipedia link

Adds max char for ISFDB ID (6) and ISNI (19 - 16 plus three -)
2022-12-28 15:41:48 +01:00
Christof Dorner 3e25b04e4a Cache book_titleby only for 10 seconds
This should be enough caching when renderering pages like the feed, but
not so much that editing a book or author will not show the updated data.
At least without having to do some clever cache busting.
2022-12-20 21:48:16 +01:00
Jascha Urbach ac8b060d58
Isfdb ID for books and authors (#2482)
* New ID: Audible ASIN

Audible belongs to Amazon BUT they do not share the same IDs. The Audible ASIN of an audiobook is never the same as the Amazon ASIN.

Yeah, I know, Amazon is great. The fact that the ASIN is a good distinction for different works and editions bothers me more than I will ever be willing to admint.

* New ID "ISFDB"

Internet Speculative Ficiton Database ID for books and authors.
Links to the entry if set.

* Added aasin to test

Added aasin to test

* the answer expects more emptxy fields...
2022-12-11 11:33:33 -08:00
Hunter Chambers 32f68c3f62 remove trailing whitespace causing pylint/black errors 2022-10-10 14:13:57 -04:00
Hunter Chambers 02c7397eaf Closes #2194 Normalize stored ISNI 2022-10-09 19:36:24 -04:00
Mouse Reeve a2c4dd4f9f Updates migration and database fields 2022-02-17 08:25:01 -08:00
Mouse Reeve 0f37e0ad42 Don't try to clear caches for nonexistant authors 2022-01-05 15:55:12 -08:00
Mouse Reeve 0da0091237 Cache title author snippet 2022-01-05 14:33:10 -08:00
Mouse Reeve 4085714764 Update openlibrary author with ISNI 2021-12-05 13:26:22 -08:00
Mouse Reeve 2d875b5575 Add link properties for remotes 2021-12-05 12:29:54 -08:00
Hugh Rundle e2836d468d
don't use author name as deduplication field 2021-11-22 08:47:12 +11:00
Mouse Reeve acfb1bb376 Updating string format synatx part 2 2021-09-18 11:32:00 -07:00
Mouse Reeve 7c15fbbb0b More efficient search index
Co-authored-by: asmr-hex <0.0@asmr.software>
2021-06-23 16:54:59 -07:00
Mouse Reeve 64c2313a5d Merge branch 'main' into inventaire 2021-04-26 14:22:05 -07:00
Mouse Reeve 3ade2d3bb1 New version of black, new whitespace 2021-04-26 09:15:42 -07:00
Mouse Reeve 82c2f2eeb1 Adds more author identifier fields 2021-04-06 17:46:06 -07:00
Mouse Reeve 70296e760b Runs black 2021-03-08 08:49:10 -08:00
Mouse Reeve cfa1a1b42c Remove sync fields and share fields between book and author 2020-12-21 12:17:18 -08:00
Mouse Reeve c4b9b82000 Use author name as a deduplication field
I feel iffy about this but openlibrary has hella duplicates
2020-12-20 13:31:11 -08:00
Mouse Reeve 3597ca460c Don't let author and book remote ids get overridden 2020-12-20 12:40:20 -08:00
Mouse Reeve a3c7d324d6 Sanitize incoming html 2020-12-16 16:47:23 -08:00
Mouse Reeve 1e01e76ac2 removes unneeded imports 2020-12-12 18:06:48 -08:00
Mouse Reeve 7c43fa1f7c Adds deduplication fields 2020-12-12 13:39:55 -08:00
Mouse Reeve 31a407d74a Use name field only for author name
It feels janky to remove a more granular name designation, but all these
first/last name fields were algorithmically populated by a dubious
process of splitting the name by a space character. If it makes sense to
have first/last name fields, it should be re-added with some
consideration.
2020-12-12 09:53:21 -08:00
Mouse Reeve 77aead722d serialize book and author models 2020-11-30 14:40:26 -08:00
Mouse Reeve 72c7829bab Preserve remote_id syntax for authors and books 2020-11-28 17:29:03 -08:00
Mouse Reeve 7ed2e310c0 User origin ids for books and authors 2020-11-28 13:40:09 -08:00
Mouse Reeve 7b6035898b Serialize activitypub authors from data in connector 2020-11-27 14:54:08 -08:00