From b65c3a010a33ffa9b9dafb49f44962889881f047 Mon Sep 17 00:00:00 2001 From: vas3k Date: Wed, 26 Feb 2020 10:41:49 +0100 Subject: [PATCH] Fix KeyError --- parsing/views.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/parsing/views.py b/parsing/views.py index 15cb938..9547101 100644 --- a/parsing/views.py +++ b/parsing/views.py @@ -1,5 +1,5 @@ from django.contrib.syndication.views import Feed -from django.http import Http404 +from django.http import Http404, HttpResponseBadRequest from parsing.exceptions import ParsingException from parsing.telegram.telegram import get_channel @@ -13,9 +13,11 @@ class TelegramChannelFeed(Feed): limit = int(request.GET.get("size") or self.FEED_ITEMS) only = str(request.GET.get("only") or "") if only: - only = [ - MessageType.get(item.strip()) for item in only.split(",") - ] + try: + only = [MessageType[item.strip()] for item in only.split(",")] + except (KeyError, ValueError): + raise HttpResponseBadRequest() + limit = 100 # dirty hack: artificially increase the limit to get more filtered messages try: