diff --git a/fedireads/goodreads_import.py b/fedireads/goodreads_import.py index 2b80d2e0..1333f9cc 100644 --- a/fedireads/goodreads_import.py +++ b/fedireads/goodreads_import.py @@ -88,6 +88,14 @@ class GoodreadsItem: if self.line['Exclusive Shelf']: return GOODREADS_SHELVES[self.line['Exclusive Shelf']] + @property + def review(self): + return self.line['My Review'] + + @property + def rating(self): + return int(self.line['My Rating']) + def __repr__(self): return "".format(self.line['Title']) diff --git a/fedireads/view_actions.py b/fedireads/view_actions.py index 394576d7..d1542512 100644 --- a/fedireads/view_actions.py +++ b/fedireads/view_actions.py @@ -357,16 +357,22 @@ def import_data(request): form = forms.ImportForm(request.POST, request.FILES) if form.is_valid(): results = [] + reviews = [] failures = [] for item in GoodreadsCsv(TextIOWrapper( request.FILES['csv_file'], encoding=request.encoding)): if item.book: results.append(item) + if item.rating: + reviews.append(item) else: failures.append(item) outgoing.handle_import_books(request.user, results) + for item in reviews: + outgoing.handle_review( + request.user, item.book, "", item.review, item.rating) return TemplateResponse(request, 'import_results.html', { 'success_count': len(results), 'failures': failures,