From b35021b110605716b452a99f53d3758318a70d5b Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Mon, 27 Jan 2014 12:26:10 +0200 Subject: Add haaretz diff view --- newsdiff/core/views.py | 28 ++++++++++++++++++++++++++-- newsdiff/templates/haaretz-article.html | 15 +++++++++++++++ newsdiff/urls.py | 3 +++ 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 newsdiff/templates/haaretz-article.html diff --git a/newsdiff/core/views.py b/newsdiff/core/views.py index 91ea44a..971b9df 100644 --- a/newsdiff/core/views.py +++ b/newsdiff/core/views.py @@ -1,3 +1,27 @@ -from django.shortcuts import render +import reversion -# Create your views here. +from django.views.generic import DetailView +from reversion.helpers import generate_patch_html +from reversion.models import Version +from .models import * + + +class HaaretzArticleView(DetailView): + + context_object_name = 'article' + model = HaaretzArticle + slug_field = 'haaretz_id' + slug_url_kwarg = 'id' + + template_name = 'haaretz-article.html' + + def get_context_data(self, **kwargs): + context = super(HaaretzArticleView, self).get_context_data(**kwargs) + versions = reversion.get_for_object(self.object) + version_diffs = [(v1, v2) for v1, v2 in zip(versions, versions[1:])] + print dir(version_diffs[0]) + context['diffs'] = [{ + 'diff': generate_patch_html(v1, v2, 'text', cleanup='efficiency') + } for (v1, v2) in version_diffs] + # context['diffs'] = [(v1, v2) for v1, v2 in zip(versions, versions[1:])] + return context diff --git a/newsdiff/templates/haaretz-article.html b/newsdiff/templates/haaretz-article.html new file mode 100644 index 0000000..90e2778 --- /dev/null +++ b/newsdiff/templates/haaretz-article.html @@ -0,0 +1,15 @@ + + + + {{ article.title }} + + +

{{ article.title }}

+

{{ article.subtitle }}

+
{{ article.text }}
+ {% for diff in diffs %} +
+
{{ diff.diff|safe }}
+ {% endfor %} + + diff --git a/newsdiff/urls.py b/newsdiff/urls.py index 3608768..636c1ee 100644 --- a/newsdiff/urls.py +++ b/newsdiff/urls.py @@ -3,9 +3,12 @@ from django.conf.urls import patterns, include, url from django.conf.urls.static import static from django.contrib import admin +from newsdiff.core.views import * + admin.autodiscover() urlpatterns = patterns('', + url(r'^haaretz/(?P[\d\.]+)$', HaaretzArticleView.as_view()), url(r'^admin/', include(admin.site.urls)), ) -- cgit v1.3.1