commit
413c26bc5e
11 changed files with 342 additions and 24 deletions
|
@ -16,6 +16,7 @@ from django.views import View
|
|||
from bookwyrm import forms, models
|
||||
from bookwyrm.importers import (
|
||||
BookwyrmImporter,
|
||||
BookwyrmBooksImporter,
|
||||
CalibreImporter,
|
||||
LibrarythingImporter,
|
||||
GoodreadsImporter,
|
||||
|
@ -69,7 +70,7 @@ class Import(View):
|
|||
return TemplateResponse(request, "import/import.html", data)
|
||||
|
||||
def post(self, request):
|
||||
"""ingest a goodreads csv"""
|
||||
"""ingest a book data csv"""
|
||||
site = models.SiteSettings.objects.get()
|
||||
if not site.imports_enabled:
|
||||
raise PermissionDenied()
|
||||
|
@ -79,11 +80,16 @@ class Import(View):
|
|||
return HttpResponseBadRequest()
|
||||
|
||||
include_reviews = request.POST.get("include_reviews") == "on"
|
||||
create_shelves = request.POST.get("create_shelves") == "on"
|
||||
privacy = request.POST.get("privacy")
|
||||
source = request.POST.get("source")
|
||||
|
||||
importer = None
|
||||
if source == "LibraryThing":
|
||||
|
||||
if source == "BookWyrm":
|
||||
importer = BookwyrmBooksImporter()
|
||||
print("BookwyrmBooksImporter")
|
||||
elif source == "LibraryThing":
|
||||
importer = LibrarythingImporter()
|
||||
elif source == "Storygraph":
|
||||
importer = StorygraphImporter()
|
||||
|
@ -101,6 +107,7 @@ class Import(View):
|
|||
TextIOWrapper(request.FILES["csv_file"], encoding=importer.encoding),
|
||||
include_reviews,
|
||||
privacy,
|
||||
create_shelves,
|
||||
)
|
||||
except (UnicodeDecodeError, ValueError, KeyError):
|
||||
return self.get(request, invalid=True)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue