From 5148820fa39feef3eba49b1f727b8746aaf36fa2 Mon Sep 17 00:00:00 2001 From: Adam Kelly Date: Sun, 12 Apr 2020 13:54:10 +0100 Subject: [PATCH] Move attempt to resolve books to view action. --- fedireads/goodreads_import.py | 9 +-------- fedireads/view_actions.py | 5 +++++ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/fedireads/goodreads_import.py b/fedireads/goodreads_import.py index 1333f9cc6..367b29ee1 100644 --- a/fedireads/goodreads_import.py +++ b/fedireads/goodreads_import.py @@ -2,7 +2,6 @@ import re import csv import itertools -from requests import HTTPError from fedireads import books_manager @@ -42,13 +41,7 @@ class GoodreadsCsv: def __iter__(self): for line in itertools.islice(self.reader, MAX_ENTRIES): - entry = GoodreadsItem(line) - try: - entry.resolve() - except HTTPError: - pass - yield entry - + yield GoodreadsItem(line) class GoodreadsItem: ''' a processed line in a goodreads csv ''' diff --git a/fedireads/view_actions.py b/fedireads/view_actions.py index 7ccf48885..c31344418 100644 --- a/fedireads/view_actions.py +++ b/fedireads/view_actions.py @@ -2,6 +2,7 @@ from io import BytesIO, TextIOWrapper import re from PIL import Image +from requests import HTTPError from django.contrib.auth import authenticate, login, logout from django.contrib.auth.decorators import login_required @@ -424,6 +425,10 @@ def import_data(request): for item in GoodreadsCsv(TextIOWrapper( request.FILES['csv_file'], encoding=request.encoding)): + try: + item.resolve() + except HttpError: + pass if item.book: results.append(item) if item.rating or item.review: