From be57e7af8103ab5a073a56ed7f80516e454da796 Mon Sep 17 00:00:00 2001 From: vas3k Date: Sun, 5 Jan 2020 22:09:10 +0100 Subject: [PATCH] Fix auth bug --- auth/views.py | 9 +++++++-- scripts/update.py | 24 +++++++++++++++++++----- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/auth/views.py b/auth/views.py index 291d9f6..148762b 100644 --- a/auth/views.py +++ b/auth/views.py @@ -16,6 +16,11 @@ def login(request): def club_callback(request): token = request.GET.get("jwt") + if not token: + return render(request, "message.html", { + "title": "Что-то пошло не так", + "message": "При авторизации потерялся токен. Попробуйте войти еще раз." + }) try: payload = jwt.decode(token, settings.JWT_SECRET, algorithms=[settings.JWT_ALGORITHM]) @@ -23,8 +28,8 @@ def club_callback(request): log.error(f"JWT token error: {ex}") return render(request, "message.html", { "title": "Что-то сломалось", - "message": "Неправильный токен авторизации. Наверное, что-то сломалось. " - "Либо вы ХАКИР!!11 (тогда идите в жопу)" + "message": "Неправильный ключ. Наверное, что-то сломалось. " + "Либо вы ХАКИР!!11" }) Session.objects.get_or_create( diff --git a/scripts/update.py b/scripts/update.py index 4a90f25..842ce44 100644 --- a/scripts/update.py +++ b/scripts/update.py @@ -6,6 +6,7 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "infomate.settings") django.setup() import re +import logging from datetime import timedelta, datetime from urllib.parse import urlparse @@ -24,6 +25,7 @@ DEFAULT_NUM_WORKER_THREADS = 5 DEFAULT_ENTRIES_LIMIT = 100 MIN_REFRESH_DELTA = timedelta(minutes=30) +log = logging.getLogger() queue = queue.Queue() @@ -103,12 +105,24 @@ def refresh_feed(item): if is_created: # parse heavy info - real_url = resolve_real_url(entry) + try: + real_url = resolve_real_url(entry) + except ConnectionError: + log.warning(f"Failed to parse URL: {entry.link}") + real_url = None + + if real_url: + article.url = real_url[:2000] + article.domain = parse_domain(real_url)[:256] + summary, lead_image = parse_text_and_lead_image(entry) - article.url = real_url[:2000] - article.domain = parse_domain(real_url)[:256] - article.description = summary[:1000] - article.image = lead_image[:512] + + if summary: + article.description = summary[:1000] + + if lead_image: + article.image = lead_image[:512] + article.save() week_ago = datetime.utcnow() - timedelta(days=7)