changeset 1209:c0eaed311e0e

Try using PIL for image diffs
author Shitiz Garg <mail@dragooon.net>
date Fri, 06 Jan 2012 17:17:21 +0530
parents 92d8f0777a9a
children d5c6c9ada478
files MoinMoin/items/__init__.py
diffstat 1 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/MoinMoin/items/__init__.py	Fri Jan 06 14:29:18 2012 +0530
+++ b/MoinMoin/items/__init__.py	Fri Jan 06 17:17:21 2012 +0530
@@ -738,8 +738,7 @@
     _render_data_diff_raw = _render_data_diff
     
     def _render_data_diff_atom(self, oldrev, newrev):
-        url = url_for('frontend.get_item', _external=True, item_name=self.name, rev=newrev.revid)
-        return render_template('atom.html', url=url, 
+        return render_template('atom.html', 
                                oldrev=oldrev, newrev=newrev, get='binary',
                                content=Markup(self._render_data()))
 
@@ -1043,6 +1042,15 @@
         else:
             return self._do_get(hash, force_attachment=force_attachment, mimetype=mimetype)
 
+    def _render_data_diff_atom(self, oldrev, newrev):
+        if PIL is None:
+            # no PIL, we can't do anything, we just call the base class method
+            return super(TransformableBitmapImage, self)._render_data_diff_atom(oldrev, newrev)
+        url = url_for('frontend.get_item', _external=True, item_name=self.name, rev=newrev.revid)
+        return render_template('atom.html',
+                               oldrev=oldrev, newrev=newrev, get='binary',
+                               content=Markup('<img src="{0}" />'.format(escape(url))))
+
     def _render_data_diff(self, oldrev, newrev):
         if PIL is None:
             # no PIL, we can't do anything, we just call the base class method