1
0
Fork 0

Do some checks to make sure we've got a csv file on import.

Fixes #104.
This commit is contained in:
Adam Kelly 2020-04-29 15:33:06 +01:00
parent 4f9edae05a
commit aec8e5c536
2 changed files with 11 additions and 4 deletions

View file

@ -418,10 +418,15 @@ def import_data(request):
''' ingest a goodreads csv '''
form = forms.ImportForm(request.POST, request.FILES)
if form.is_valid():
job = goodreads_import.create_job(
request.user,
TextIOWrapper(request.FILES['csv_file'], encoding=request.encoding)
)
try:
job = goodreads_import.create_job(
request.user,
TextIOWrapper(
request.FILES['csv_file'],
encoding=request.encoding)
)
except (UnicodeDecodeError, ValueError):
return HttpResponseBadRequest('Not a valid csv file')
goodreads_import.start_import(job)
return redirect('/import_status/%d' % (job.id,))
return HttpResponseBadRequest()