mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-12-23 00:26:33 +00:00
Merge pull request #3189 from ccamara/2965_export_readthrough
Export ReadThrough in the csv export
This commit is contained in:
commit
b04ebe397b
2 changed files with 22 additions and 3 deletions
|
@ -66,7 +66,7 @@ class ExportViews(TestCase):
|
|||
# pylint: disable=line-too-long
|
||||
self.assertEqual(
|
||||
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")
|
||||
+ 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.settings import PAGE_LENGTH
|
||||
|
||||
# pylint: disable=no-self-use
|
||||
# pylint: disable=no-self-use,too-many-locals
|
||||
@method_decorator(login_required, name="dispatch")
|
||||
class Export(View):
|
||||
"""Let users export data"""
|
||||
|
@ -54,6 +54,7 @@ class Export(View):
|
|||
fields = (
|
||||
["title", "author_text"]
|
||||
+ deduplication_fields
|
||||
+ ["start_date", "finish_date", "stopped_date"]
|
||||
+ ["rating", "review_name", "review_cw", "review_content"]
|
||||
)
|
||||
writer.writerow(fields)
|
||||
|
@ -70,6 +71,24 @@ class Export(View):
|
|||
|
||||
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 = (
|
||||
models.Review.objects.filter(
|
||||
user=request.user, book=book, content__isnull=False
|
||||
|
|
Loading…
Reference in a new issue