Store csv in the database and then import via celery.
This commit is contained in:
parent
881cc4d64b
commit
0bf73fef24
10 changed files with 293 additions and 133 deletions
|
@ -1,13 +1,15 @@
|
|||
''' views for pages you can go to in the application '''
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.db.models import Avg, Q
|
||||
from django.http import HttpResponseBadRequest, HttpResponseNotFound, \
|
||||
from django.http import HttpResponseBadRequest, HttpResponseNotFound,\
|
||||
JsonResponse
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.template.response import TemplateResponse
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
|
||||
from fedireads import activitypub
|
||||
from fedireads import forms, models, books_manager
|
||||
from fedireads.tasks import app
|
||||
|
||||
|
||||
def get_user_from_username(username):
|
||||
|
@ -158,9 +160,24 @@ def import_page(request):
|
|||
''' import history from goodreads '''
|
||||
return TemplateResponse(request, 'import.html', {
|
||||
'import_form': forms.ImportForm(),
|
||||
'jobs': models.ImportJob.
|
||||
objects.filter(user=request.user).order_by('-created_date'),
|
||||
})
|
||||
|
||||
|
||||
@login_required
|
||||
def import_status(request, job_id):
|
||||
''' status of an import job '''
|
||||
job = models.ImportJob.objects.get(id=job_id)
|
||||
if job.user != request.user:
|
||||
raise PermissionDenied
|
||||
task = app.AsyncResult(job.task_id)
|
||||
return TemplateResponse(request, 'import_status.html', {
|
||||
'job': job,
|
||||
'items': job.items.order_by('index').all(),
|
||||
'task': task
|
||||
})
|
||||
|
||||
|
||||
def login_page(request):
|
||||
''' authentication '''
|
||||
|
@ -531,4 +548,3 @@ def get_user_shelf_preview(user, shelf_proportions=None):
|
|||
'size': shelf.books.count(),
|
||||
})
|
||||
return shelves
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue