- fix tuple in tar export I accidentally broke by following pylint blindly
- just use job.set_status to complete jobs since it does everything we need
- fix/avoid Celery "not JSON deserializable" error by not saving whole job including user value
- makes user_import_time_limit a site setting rather than a value in settings.py (note this applies to exports as well as imports)
- admins can change user_import_time_limit from UI
- admins can cancel stuck user imports
- disabling new imports also disables user imports
* Remove duplicate Review object under `rating` property
This was preventing validation, since `rating` is not a valid property
(`review` is, which is created from book.html already).
* Drop `bestRating` property in ratings, since it defaults to 5
See <https://schema.org/bestRating> ("If bestRating is omitted,
5 is assumed").
* Create Rating object (and its enclosing Review) in book/rating.html
* Use `position` property for Book objects in a series
`volumeNumber`, previously used, is only valid for objects of type
PublicationVolume (which series members are not).
* Give URL of book series when setting of `isPartOf`
* series.html: Add empty BookSeries object
---------
Co-authored-by: Adeodato Simó <dato@users.noreply.github.com>
This scripts reads VERSION (should be semantic version), automatically
suggest a "minor" version update, and ask for input to use either suggestion, or a new value.
creates a pull request with updated VERSION and creates a tag for the new version.
This removes the content of VERSION from settings.py and moves it into a seperate file which makes it easier to update versionnumbers via script in the future.
`cover` comes as a JSON dict, but the code was looking for URL as
an attribute.
(This commit leaves the attribute access in place, just in case
`cover` is updated to serialize as Document proper.)