bookwyrm/bookwyrm/importers/bookwyrm_import.py
2023-10-23 21:30:17 +11:00

25 lines
771 B
Python

"""Import data from Bookwyrm export files"""
from typing import Any
from django.http import QueryDict
from bookwyrm.models import User
from bookwyrm.models.bookwyrm_import_job import BookwyrmImportJob
class BookwyrmImporter:
"""Import a Bookwyrm User export file.
This is kind of a combination of an importer and a connector.
"""
def process_import(
self, user: User, archive_file: bytes, settings: QueryDict
) -> BookwyrmImportJob: # pylint: disable=no-self-use
"""import user data from a Bookwyrm export file"""
required = [k for k in settings if settings.get(k) == "on"]
job = BookwyrmImportJob.objects.create(
user=user, archive_file=archive_file, required=required
)
return job