1
0
Fork 0

Merge branch 'main' into review-rate

This commit is contained in:
Mouse Reeve 2021-02-28 10:35:20 -08:00
commit 5bc4456d4e
104 changed files with 2651 additions and 693 deletions

View file

@ -9,7 +9,7 @@ from django.template.response import TemplateResponse
from django.utils.decorators import method_decorator
from django.views import View
from bookwyrm import forms, goodreads_import, models
from bookwyrm import forms, goodreads_import, librarything_import, models
from bookwyrm.tasks import app
# pylint: disable= no-self-use
@ -31,18 +31,29 @@ class Import(View):
if form.is_valid():
include_reviews = request.POST.get('include_reviews') == 'on'
privacy = request.POST.get('privacy')
source = request.POST.get('source')
importer = None
if source == 'LibraryThing':
importer = librarything_import.LibrarythingImporter()
else:
# Default : GoodReads
importer = goodreads_import.GoodreadsImporter()
try:
job = goodreads_import.create_job(
job = importer.create_job(
request.user,
TextIOWrapper(
request.FILES['csv_file'],
encoding=request.encoding),
encoding=importer.encoding),
include_reviews,
privacy,
)
except (UnicodeDecodeError, ValueError):
return HttpResponseBadRequest('Not a valid csv file')
goodreads_import.start_import(job)
importer.start_import(job)
return redirect('/import/%d' % job.id)
return HttpResponseBadRequest()