Shitiz Garg avatar Shitiz Garg committed c0eaed3

Try using PIL for image diffs

Comments (0)

Files changed (1)

MoinMoin/items/__init__.py

     _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()))
 
         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
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.