mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-11-26 03:21:05 +00:00
Merge branch 'main' into issue-3187
This commit is contained in:
commit
8144507893
2 changed files with 22 additions and 3 deletions
|
@ -66,7 +66,7 @@ class ExportViews(TestCase):
|
||||||
# pylint: disable=line-too-long
|
# pylint: disable=line-too-long
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
export.content,
|
export.content,
|
||||||
b"title,author_text,remote_id,openlibrary_key,inventaire_id,librarything_key,goodreads_key,bnf_id,viaf,wikidata,asin,aasin,isfdb,isbn_10,isbn_13,oclc_number,rating,review_name,review_cw,review_content\r\nTest Book,,"
|
b"title,author_text,remote_id,openlibrary_key,inventaire_id,librarything_key,goodreads_key,bnf_id,viaf,wikidata,asin,aasin,isfdb,isbn_10,isbn_13,oclc_number,start_date,finish_date,stopped_date,rating,review_name,review_cw,review_content\r\nTest Book,,"
|
||||||
+ self.book.remote_id.encode("utf-8")
|
+ self.book.remote_id.encode("utf-8")
|
||||||
+ b",,,,,beep,,,,,,123456789X,9781234567890,,,,,\r\n",
|
+ b",,,,,beep,,,,,,123456789X,9781234567890,,,,,,,,\r\n",
|
||||||
)
|
)
|
||||||
|
|
|
@ -17,7 +17,7 @@ from bookwyrm import models
|
||||||
from bookwyrm.models.bookwyrm_export_job import BookwyrmExportJob
|
from bookwyrm.models.bookwyrm_export_job import BookwyrmExportJob
|
||||||
from bookwyrm.settings import PAGE_LENGTH
|
from bookwyrm.settings import PAGE_LENGTH
|
||||||
|
|
||||||
# pylint: disable=no-self-use
|
# pylint: disable=no-self-use,too-many-locals
|
||||||
@method_decorator(login_required, name="dispatch")
|
@method_decorator(login_required, name="dispatch")
|
||||||
class Export(View):
|
class Export(View):
|
||||||
"""Let users export data"""
|
"""Let users export data"""
|
||||||
|
@ -54,6 +54,7 @@ class Export(View):
|
||||||
fields = (
|
fields = (
|
||||||
["title", "author_text"]
|
["title", "author_text"]
|
||||||
+ deduplication_fields
|
+ deduplication_fields
|
||||||
|
+ ["start_date", "finish_date", "stopped_date"]
|
||||||
+ ["rating", "review_name", "review_cw", "review_content"]
|
+ ["rating", "review_name", "review_cw", "review_content"]
|
||||||
)
|
)
|
||||||
writer.writerow(fields)
|
writer.writerow(fields)
|
||||||
|
@ -70,6 +71,24 @@ class Export(View):
|
||||||
|
|
||||||
book.rating = review_rating.rating if review_rating else None
|
book.rating = review_rating.rating if review_rating else None
|
||||||
|
|
||||||
|
readthrough = (
|
||||||
|
models.ReadThrough.objects.filter(user=request.user, book=book)
|
||||||
|
.order_by("-start_date", "-finish_date")
|
||||||
|
.first()
|
||||||
|
)
|
||||||
|
if readthrough:
|
||||||
|
book.start_date = (
|
||||||
|
readthrough.start_date.date() if readthrough.start_date else None
|
||||||
|
)
|
||||||
|
book.finish_date = (
|
||||||
|
readthrough.finish_date.date() if readthrough.finish_date else None
|
||||||
|
)
|
||||||
|
book.stopped_date = (
|
||||||
|
readthrough.stopped_date.date()
|
||||||
|
if readthrough.stopped_date
|
||||||
|
else None
|
||||||
|
)
|
||||||
|
|
||||||
review = (
|
review = (
|
||||||
models.Review.objects.filter(
|
models.Review.objects.filter(
|
||||||
user=request.user, book=book, content__isnull=False
|
user=request.user, book=book, content__isnull=False
|
||||||
|
|
Loading…
Reference in a new issue