From: zuber Date: Mon, 26 Oct 2009 09:41:11 +0000 (+0100) Subject: Merge branch 'master' of stigma.nowoczesnapolska.org.pl:platforma X-Git-Url: https://git.mdrn.pl/redakcja.git/commitdiff_plain/f8dc1e5b5062456deab01f927e82b753202f31e3?ds=inline;hp=-c Merge branch 'master' of stigma.nowoczesnapolska.org.pl:platforma --- f8dc1e5b5062456deab01f927e82b753202f31e3 diff --combined apps/api/handlers/library_handlers.py index 31981b4c,8f8f2bc0..b635d4ec --- a/apps/api/handlers/library_handlers.py +++ b/apps/api/handlers/library_handlers.py @@@ -31,10 -31,6 +31,10 @@@ import api.response as respons from api.utils import validate_form, hglibrary, natural_order from api.models import PartCache, PullRequest +from pygments import highlight +from pygments.lexers import DiffLexer +from pygments.formatters import HtmlFormatter + # import settings @@@ -209,23 -205,19 +209,23 @@@ class DiffHandler(BaseHandler) allowed_methods = ('GET',) @hglibrary - def read(self, request, source_revision, target_revision, lib): - '''Return diff between source_revision and target_revision)''' - source_document = lib.document_for_revision(source_revision) - target_document = lib.document_for_revision(target_revision) - print source_document, - print target_document + def read(self, request, docid, lib): + '''Return diff between source_revision and target_revision)''' + revision = request.GET.get('revision') + if not revision: + return '' + source_document = lib.document(docid) + target_document = lib.document_for_revision(revision) + print source_document, target_document + diff = difflib.unified_diff( source_document.data('xml').splitlines(True), target_document.data('xml').splitlines(True), 'source', 'target') - return ''.join(list(diff)) + s = ''.join(list(diff)) + return highlight(s, DiffLexer(), HtmlFormatter(cssclass="pastie")) # @@@ -239,7 -231,7 +239,7 @@@ class DocumentHandler(BaseHandler) @hglibrary def read(self, request, form, docid, lib): """Read document's meta data""" - log.info(u"User '%s' wants to %s(%s) as %s" % \ + log.info(u"User '%s' wants to edit %s(%s) as %s" % \ (request.user.username, docid, form.cleaned_data['revision'], form.cleaned_data['user']) ) user = form.cleaned_data['user'] or request.user.username @@@ -346,10 -338,10 +346,10 @@@ class DocumentHTMLHandler(BaseHandler) 'reason': 'not-found', 'message': e.message}) except librarian.ValidationError, e: return response.InternalError().django_response({ - 'reason': 'xml-non-valid', 'message': e.message }) + 'reason': 'xml-non-valid', 'message': e.message or u''}) except librarian.ParseError, e: return response.InternalError().django_response({ - 'reason': 'xml-parse-error', 'message': e.message }) + 'reason': 'xml-parse-error', 'message': e.message or u'' }) # # Image Gallery