Commit graph

5372 commits

Author SHA1 Message Date
Mouse Reeve
355e7039f0
Merge pull request #2139 from bookwyrm-social/search-refactor
Search refactor
2022-05-31 10:22:17 -07:00
Mouse Reeve
c3b35760a2 Updates test mocks for remote search 2022-05-31 09:37:54 -07:00
Mouse Reeve
969db13ff2 Safely return None in remote search return_first 2022-05-31 08:49:23 -07:00
Mouse Reeve
05fd30cfcf Pylint fixes in connector tests 2022-05-31 08:37:07 -07:00
Mouse Reeve
5e99002aad Raise priority for external connectors in initdb
By default, OpenLibrary and Inventaire were prioritzed below other
BookWyrm nodes. In practice, people have gotten better search results
from these connectors, hence the change. With the search refactor, this
has much less impact, but it will show these search results higher in
the list.

If the results page shows all the connectors' results integrated, this
field should be removed entirely.
2022-05-31 08:25:02 -07:00
Mouse Reeve
a053f20961 Re-implements return first option
Since we get all the results quickly now, this aggregates all the
results that came back and sorts them by confidence, and returns the
highest confidence result. The confidences aren't great on free text
search, but conceptually that's how it should work at least.

It may make sense to aggregate the search results in all contexts, but
I'll propose that in a separate PR.
2022-05-31 08:20:59 -07:00
Mouse Reeve
98ed03b6b4 Python formatting and test update 2022-05-30 17:00:34 -07:00
Mouse Reeve
83ee5a756f Filter intentaire results by confidence 2022-05-30 16:42:37 -07:00
Mouse Reeve
af19d728d2 Removes outdated unit tests 2022-05-30 16:16:10 -07:00
Mouse Reeve
87fe984462 Combines search formatter and parser function
The parser was extracting the list of search results from the json
object returned by the search endpoint, and the formatter was converting
an individual json entry into a SearchResult object. This just merged
them into one function, because they are never used separately.
2022-05-30 12:52:31 -07:00
Mouse Reeve
525e2a591d More error handing
Adds logging and error handling for some of the numerous ways a request
could fail (the remote site is down, the url is blocked, etc).

I also have the results boxes open by default, which makes it more
legible imo.
2022-05-30 12:40:13 -07:00
Mouse Reeve
45f2199c71 Gather and wait on async requests
This sends out the request tasks all at once and then aggregates the
results, instead of just running them one after another asynchronously.
2022-05-30 12:05:22 -07:00
Mouse Reeve
5e81ec75fb Set request headers in async search get request
Gotta ask for json
2022-05-30 11:19:16 -07:00
Mouse Reeve
9a9cef7766 Verify url before async search
The database lookup doesn't work during the asyn process, so this change
loops through the connectors and grabs the formatted urls before sending
it to the async handler.
2022-05-30 11:16:05 -07:00
Mouse Reeve
0adda36da7 Remove search endpoints from Connector
Instead of having individual search functions that make individual
requests, the connectors will always be searched asynchronously
together. The process_seach_response combines the parse and format
functions, which could probably be merged into one over-rideable
function.

The current to-do on this is to remove Inventaire search results that
are below the confidence threshhold after search, which used to happen
in the `search` function.
2022-05-30 10:37:24 -07:00
Mouse Reeve
9c03bf782e Make an async request to all search connectors
This is the untest first pass at re-arranging remote search to work in
parallel rather than sequence. It moves a couple functions around
(raise_not_valid_url, for example, needs to be in connector_manager.py
now to avoid circular imports). It adds a function to Connector objects
that generates a search result (either to the isbn endpoint or the free
text endpoint) based on the query, which was previously done as part of
the search.

I also lowered the timeout to 8 seconds by default.
2022-05-30 10:15:22 -07:00
Mouse Reeve
fb3c7205af Updates unit tests 2022-05-30 09:17:51 -07:00
Mouse Reeve
fc3b609ada Use general ratings rather than privacy filtered
The original system customized how a rating is displayed to every user
based on the privacy settings of the reviews and, relatedly, who the
user follows. This is cool, but the query is too complicated to load in
sessions, and the initial load, which isn't mitigated by caching, is too
much and causes timeouts for many users. Also the cache clearing wasn't
working correctly because I put in a wildcard, which does not work.
2022-05-30 08:42:48 -07:00
Mouse Reeve
74925a379a Prettier 2022-05-26 12:54:31 -07:00
Mouse Reeve
4e0e6ed5a4 Tick javascript cache and version number 2022-05-26 12:49:04 -07:00
Mouse Reeve
09db4e48f4 Hide rather than remove current shelve list items 2022-05-26 12:46:34 -07:00
Mouse Reeve
c5f5d4d994 Only show "stop" option when a book is in progress 2022-05-26 12:27:44 -07:00
Mouse Reeve
4905652e22 Handle stopped reading special case in javascript
This should be refactored, but maybe not today
2022-05-26 12:23:13 -07:00
Mouse Reeve
4c5d2570ab Save and display stopped date in readthrough 2022-05-26 11:53:33 -07:00
Mouse Reeve
dfe0656eb4 Typo fix 2022-05-26 11:38:36 -07:00
Mouse Reeve
375c5a8789 Adds stopped date separate from finish date on readthrough 2022-05-26 11:36:37 -07:00
Mouse Reeve
1f6fbd8d29 Fixes stopped reading button logic
The stopped state is similar to finished
2022-05-26 11:28:54 -07:00
Mouse Reeve
9b4a498661 Don't show a button for the shelf a book is currently on
This will lead to nonsensical modal states
2022-05-26 11:19:49 -07:00
Mouse Reeve
92dbfec5f8 Adds status header for stopped reading statuses 2022-05-26 11:10:14 -07:00
Mouse Reeve
6848616ff1 Fixes reading status field in stop modal
The value of the reading status needs to match one of the database
options for `reading_status` in the `Comment` model
2022-05-26 11:09:11 -07:00
Mouse Reeve
007751c8cb Adds error logging to status views 2022-05-26 10:58:11 -07:00
Mouse Reeve
23c6019340 Adds merge migration 2022-05-26 10:23:32 -07:00
Mouse Reeve
77a7dfa924
Merge pull request #2133 from bookwyrm-social/activitypub-connection-erorr
Don't throw an error when unable to connect to remote data
2022-05-26 10:12:18 -07:00
Mouse Reeve
88b2cffcf2
Merge pull request #2035 from bookwyrm-social/stopped-shelf
Stopped shelf
2022-05-26 10:11:32 -07:00
Mouse Reeve
9d275db322 Updates ignore boost logic that no longer produces errors 2022-05-26 09:57:39 -07:00
Mouse Reeve
3e54a5f4a3 Python formatting 2022-05-26 09:00:45 -07:00
Mouse Reeve
0bfe1e9dfc Don't throw an error when unable to connect to remote data 2022-05-25 13:24:11 -07:00
Mouse Reeve
0f7317f8fe Make an exception for yourself when followers are hidden 2022-05-23 15:31:05 -07:00
Mouse Reeve
6d5923bb8f
Merge pull request #2128 from bookwyrm-social/multiple-authors
Multiple authors not added when editing book
2022-05-23 14:07:54 -07:00
Mouse Reeve
69f192e78c Fixes error in add author code returning too soon 2022-05-23 13:57:14 -07:00
Mouse Reeve
b2c587e082 Adds unit test for add author code when editing book 2022-05-23 13:51:58 -07:00
Mouse Reeve
efd1fd82a9 Corrects redirect to confirm mode when adding book 2022-05-23 13:02:06 -07:00
Mouse Reeve
1843959d10
Merge pull request #2093 from Ryuno-Ki/calibre-import
Calibre import. Fixes #627
2022-05-23 12:37:50 -07:00
André Jaenisch
d837146b66
Make black happy
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de>
2022-05-23 20:59:28 +02:00
André Jaenisch
b564e514fd
Handle parsed dates that already have a timezone on import.
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de>
2022-05-23 20:52:57 +02:00
André Jaenisch
12541d5f1c
Map timestamp to date_added to avoid integrity error.
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de>
2022-05-23 20:52:26 +02:00
Mouse Reeve
d8b2ab74d1 Fixes edit author paths 2022-05-23 11:08:04 -07:00
Mouse Reeve
6d7bb33683 Fixes urls in edit book form 2022-05-19 09:32:01 -07:00
Mouse Reeve
8d2da587d9 Prevent error when a book language has a null value 2022-05-16 11:06:11 -07:00
Mouse Reeve
b2775c5160 Check unsupported types before attempting to serialize 2022-05-16 10:21:54 -07:00
Mouse Reeve
fd43b56d31 Fixes celery error encountering Article type activities 2022-05-16 10:17:21 -07:00
Mouse Reeve
fdd4691e00 Adds unit test 2022-05-16 09:41:34 -07:00
Mouse Reeve
876d9c2695 Fixes how backdated statuses are prioritized 2022-05-16 09:24:01 -07:00
Mouse Reeve
74368ab159 Merge branch 'main' into list-privacy 2022-05-16 08:10:43 -07:00
Mouse Reeve
241169650d
Merge pull request #2007 from viviicat/url-names
Add names of books/lists/authors/etc as slugs, redirect to slugified version of the page
2022-05-16 08:04:58 -07:00
Mouse Reeve
23eb1c1b10
Merge pull request #1942 from willhoh/isbn_search
Isbn check befor search
2022-05-16 08:01:31 -07:00
Den McHenry
80b0206e0d Replace user|username with request.user.localname 2022-05-06 10:29:25 -07:00
André Jaenisch
62c7661fb9
Reformat tests using black
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de>
2022-05-05 21:31:56 +02:00
André Jaenisch
22fcb61fb2
Write tests for Calibre importer
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de>
2022-05-05 13:08:01 +02:00
André Jaenisch
6bd9b725e2
Refactor hard-coded strings with a reference to a static property
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de>
2022-05-05 13:07:25 +02:00
André Jaenisch
eeb1cc7197
Use a default shelf because Calibre indicates no reading status
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de>
2022-04-30 19:08:31 +02:00
André Jaenisch
3626db3c1a
Add Calibre importer for CSV exports
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de>
2022-04-30 15:25:35 +02:00
Mouse Reeve
966bec1d18 Fixes invite request alert count 2022-04-26 08:33:15 -07:00
Mouse Reeve
a6cb46356f Show clearer behavior when no email confirmation is needed after all 2022-04-26 08:14:31 -07:00
Mouse Reeve
a2a04da493 Adds many to many related items to notifications 2022-04-09 09:44:42 -07:00
Vivianne Langdon
64b623df32 fixes for bulma not having good dark support 2022-04-09 00:06:10 -07:00
Vivianne Langdon
d3992802f2 use a new has-text-default instead of has-text-black 2022-04-08 23:14:30 -07:00
Vivianne Langdon
b0d3eaeb40 allow empty slugs, for non-url-friendly book names 2022-04-08 22:11:05 -07:00
Vivianne
5a2bf64864
Merge branch 'bookwyrm-social:main' into url-names 2022-04-08 21:45:37 -07:00
Mouse Reeve
8d266fda4d Removes unused related_book field on notification model 2022-04-08 15:21:38 -07:00
Mouse Reeve
300eea3b94
Merge pull request #2074 from bookwyrm-social/pylint-tests-dir
Include test files in pylint
2022-04-08 14:39:44 -07:00
Mouse Reeve
2c394a2518 Fixes typo 2022-04-08 14:29:42 -07:00
Mouse Reeve
8ea1171764 Python formatting 2022-04-08 14:24:14 -07:00
Mouse Reeve
9921a1e754 Various pylint complaince fixes 2022-04-08 14:23:37 -07:00
Mouse Reeve
a92bf785dd Updates init files for pylint 2022-04-08 14:16:05 -07:00
Mouse Reeve
6455476df7 Consistent formatting for "BookWyrm" name 2022-04-08 13:59:10 -07:00
Mouse Reeve
ae8fed3e82 Removes stray dash from template 2022-04-08 13:50:06 -07:00
Mouse Reeve
51f5c9562d Uses details for user menu in main navbar 2022-04-08 13:45:17 -07:00
Mouse Reeve
4c09477aa2
Improves instance list admin view (#2068)
* Removes irrelevent initial federated server data

* Adds secondary search order to instance list

* Show last updated date

* Adds filters to federated server view

* Updates unit tests
2022-04-02 09:16:07 -07:00
Mouse Reeve
ae86829a7e
Adds Finnish locale (#2069)
* Adds Finnish locale
2022-03-31 08:20:52 -07:00
Mouse Reeve
71cbe611de Merge migration 2022-03-26 13:07:27 -07:00
Mouse Reeve
ec21d20b90 Merge branch 'main' into stopped-shelf 2022-03-26 13:06:06 -07:00
Mouse Reeve
701a644c31
Export user book data as csv (#1556)
Simple book data export
2022-03-26 13:04:59 -07:00
Mouse Reeve
3ebc800a9b Fixes progress bar color in dark mode 2022-03-26 11:38:00 -07:00
Mouse Reeve
23ff58a62b Fixes scrollbar colors in dark mode 2022-03-26 11:35:24 -07:00
Mouse Reeve
0666a2d02f Remove transparent class on interaction buttons 2022-03-26 11:07:58 -07:00
Mouse Reeve
b23f4a7e18 Clip statuses 2022-03-26 11:00:53 -07:00
Mouse Reeve
7cbf78c5fd
Merge pull request #2056 from bookwyrm-social/duplicate-follow-requests
Trigger rebroadcast of follow requests
2022-03-26 10:42:06 -07:00
Mouse Reeve
00c36de745
Merge pull request #2062 from bookwyrm-social/locales
Adds Romanian locale
2022-03-26 10:41:07 -07:00
Mouse Reeve
85f507d6b9 Python formatting 2022-03-26 10:34:02 -07:00
Mouse Reeve
5cf52cff54 Formats migration 2022-03-26 10:32:07 -07:00
Mouse Reeve
a1487ccae5
Merge branch 'main' into duplicate-follow-requests 2022-03-26 10:28:58 -07:00
Mouse Reeve
2d7902ff89 Resolve second integrity error 2022-03-26 10:27:49 -07:00
Mouse Reeve
dc171776f8
Merge branch 'main' into link-typo 2022-03-26 10:21:52 -07:00
Mouse Reeve
44af09336c
Merge branch 'main' into locales 2022-03-26 10:21:43 -07:00
Mouse Reeve
90277a1697 Avoid new pylint complaint 2022-03-26 10:07:06 -07:00
Mouse Reeve
a6ae55608a Adds Romanian locale 2022-03-26 10:03:50 -07:00
Mouse Reeve
27e23e76ae Fixes typo in about link 2022-03-26 09:43:49 -07:00
Mouse Reeve
4f24b05d60 Clear cache regardless of view success 2022-03-24 13:10:49 -07:00
Mouse Reeve
aefb0c9b14 Re-consider list privacy on edit
Please run ci??
2022-03-24 12:49:38 -07:00
Mouse Reeve
a3b9c621af Trigger rebroadcast of follow requests 2022-03-24 11:35:05 -07:00
Mouse Reeve
0166cca0b7 Show created date and follower counts in admin view
Adds "admin_mode" to user_preview
2022-03-24 11:17:35 -07:00
Mouse Reeve
82f87a3ff5 Adds colored icon for user status in admin table 2022-03-24 10:55:32 -07:00
Mouse Reeve
533642bf7e Adds link to admin view 2022-03-24 10:43:17 -07:00
Mouse Reeve
951b611881 Paginates results 2022-03-24 10:40:42 -07:00
Mouse Reeve
43cc017b44 Removes tooltip component 2022-03-21 12:32:53 -07:00
Mouse Reeve
9e792a8901 Italics for null state text on import page, to be consistent 2022-03-21 12:26:07 -07:00
Mouse Reeve
34166b8a2f Uses help instead of tooltip for goodreads export info 2022-03-21 12:24:47 -07:00
Mouse Reeve
3f7afc9014 Adds prompt to import books in null state of suggested books 2022-03-21 12:24:31 -07:00
Mouse Reeve
a29db4840c
Merge pull request #2046 from bookwyrm-social/resend-flow
Resend flow
2022-03-19 15:28:30 -07:00
Mouse Reeve
1b53c81351 Updates tests 2022-03-19 15:16:20 -07:00
Mouse Reeve
78ac252dae Python formatting 2022-03-19 12:08:57 -07:00
Mouse Reeve
f2ab890b5a Adds fallback form to modal 2022-03-19 12:07:07 -07:00
Mouse Reeve
4386d2ddb9 Switches resend email to modal 2022-03-19 12:00:16 -07:00
Mouse Reeve
5655b94bad
Merge pull request #2044 from bookwyrm-social/date-picker
Uses custom date select widget for publication dates
2022-03-19 09:33:53 -07:00
Mouse Reeve
f0a87e2a20 Use fullwidth tables in admin views 2022-03-19 09:16:28 -07:00
Mouse Reeve
7f6a98e764 Don't let site settings form get too wide 2022-03-19 09:11:59 -07:00
Mouse Reeve
1cfe3b3f94 Re-orders site settings registration toggles
Having require email confirm next to allow registration seems better to
me
2022-03-19 09:09:25 -07:00
Mouse Reeve
45672c2b70 Adds missing widgets file 2022-03-19 09:04:50 -07:00
Mouse Reeve
68e3a71b18 Consistent height for instance stats 2022-03-19 09:01:04 -07:00
Mouse Reeve
09e040ec11 Equal height for dashboard notifications 2022-03-19 08:59:41 -07:00
Mouse Reeve
dc9f8fccb7 Adds widgets file 2022-03-19 08:48:10 -07:00
Mouse Reeve
a701bfcf8e Uses custom date select widget for publication dates 2022-03-19 08:45:10 -07:00
Mouse Reeve
55dc998d03 Retain start date when updating from modal 2022-03-18 19:20:43 -07:00
Mouse Reeve
287b5603d6 Fixes progress updates 2022-03-18 19:11:58 -07:00
Mouse Reeve
713391f468 Fixes edit book page 2022-03-18 07:28:07 -07:00
Mouse Reeve
a584f077b7 Simplifies query likely causing author page performance issues 2022-03-17 09:51:54 -07:00
Mouse Reeve
2047365d31
Merge pull request #1973 from bookwyrm-social/add-edition
Create another edition for existing work
2022-03-17 08:51:13 -07:00
Mouse Reeve
9e0d6ed512
Merge branch 'main' into author-sort 2022-03-17 08:31:45 -07:00
Mouse Reeve
0101d2561a Python formatting 2022-03-17 08:18:44 -07:00
Mouse Reeve
a684d86d15 Fixes subjects in add edition view 2022-03-17 08:02:59 -07:00
Mouse Reeve
26f0501e2f SHow editions link on all book pages 2022-03-17 07:40:55 -07:00
Mouse Reeve
997a671cfb Consistent style for edit book confirm mode 2022-03-17 07:34:59 -07:00
Mouse Reeve
cf58d0ad5c Reverts author view changes 2022-03-17 07:22:22 -07:00
Vivianne Langdon
3050b33084 add success-light and warning-light! 2022-03-16 20:21:13 -07:00
Mouse Reeve
5255abb2af Fixes create book view unit test 2022-03-16 17:55:41 -07:00
Mouse Reeve
178f26192b Removes file added by merge 2022-03-16 17:15:53 -07:00
Mouse Reeve
8b061f9432 Manually updates migration 2022-03-16 16:53:16 -07:00
Mouse Reeve
7b3b357756 Merge branch 'main' into form-conflict 2022-03-16 16:51:57 -07:00
Mouse Reeve
44e68cd0a4 Whitespace fix 2022-03-16 16:50:34 -07:00
Mouse Reeve
922cc61a5f
Merge pull request #1998 from oragegu/question_invite_correct
Custom question option and field for spammed bookwyrm instances
2022-03-16 16:49:00 -07:00
Mouse Reeve
108981a226 Creates fresh migration and removes merges 2022-03-16 16:35:03 -07:00
Mouse Reeve
0cf2c07069
Merge branch 'main' into url-names 2022-03-16 16:32:07 -07:00
Mouse Reeve
68dc5962ee Merge branch 'main' into add-edition 2022-03-16 16:16:55 -07:00
Mouse Reeve
da100cd114 Adds context and fixes whitespace in translation strings
Also updates locales
2022-03-16 16:13:15 -07:00
Mouse Reeve
159b73d860 Fixes errors in migration 2022-03-16 13:54:25 -07:00
Mouse Reeve
819458e82a Improves error reporting on activitypub parser 2022-03-16 13:53:54 -07:00
Mouse Reeve
f2b0b306e9
Merge pull request #1934 from tversteeg/partially-read-shelf
Add 'Stopped Reading' shelf
2022-03-16 13:51:15 -07:00
Mouse Reeve
78b03efe45 Updates bw-dev command and ticks version number 2022-03-16 12:53:05 -07:00
Mouse Reeve
820279166a Adds update script 2022-03-16 12:39:49 -07:00