From 888ad2aeff9618d6aa74e51fd5ea3dcba8124b84 Mon Sep 17 00:00:00 2001 From: HelloZeroNet Date: Wed, 6 Apr 2016 13:56:32 +0200 Subject: [PATCH] Save files before writing with fileWrite to calculate diff on publish --- src/Ui/UiWebsocket.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Ui/UiWebsocket.py b/src/Ui/UiWebsocket.py index 4b8f38d6..fb60b646 100644 --- a/src/Ui/UiWebsocket.py +++ b/src/Ui/UiWebsocket.py @@ -379,6 +379,14 @@ class UiWebsocket(object): try: import base64 content = base64.b64decode(content_base64) + + # Save old file to generate patch later + if self.site.storage.isFile(inner_path): + if self.site.storage.isFile(inner_path+"-old"): + self.site.storage.delete(inner_path+"-old") + self.site.storage.rename(inner_path, inner_path+"-old") + self.log.debug("%s renamed to %s" % (inner_path, inner_path+"-old")) + self.site.storage.write(inner_path, content) except Exception, err: return self.response(to, {"error": "Write error: %s" % err})