summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--newsdiff/core/views.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/newsdiff/core/views.py b/newsdiff/core/views.py
index 099631e..ad8f0cf 100644
--- a/newsdiff/core/views.py
+++ b/newsdiff/core/views.py
@@ -1,10 +1,12 @@
import reversion
from django.contrib.contenttypes.models import ContentType
+from django.http import Http404
from django.views.generic import DetailView, ListView
from reversion.helpers import generate_patch_html
from reversion.models import Version
from .models import *
+from .tasks import process_haaretz_article
class ArticleView(DetailView):
@@ -30,6 +32,17 @@ class HaaretzArticleView(ArticleView):
model = HaaretzArticle
slug_field = 'haaretz_id'
+ def get_object(self, queryset=None):
+ try:
+ return super(HaaretzArticleView, self).get_object(queryset=queryset)
+ except Http404 as e:
+ if not self.request.user.is_authenticated():
+ raise e
+ else:
+ id = self.kwargs.get(self.slug_url_kwarg, None)
+ process_haaretz_article.delay('http://www.haaretz.co.il/{}'.format(id))
+ raise Http404('Attempting to fetch haaretz article')
+
class YnetArticleView(ArticleView):
model = YnetArticle