summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hellkamp <marc@gsites.de>2009-07-09 14:36:06 +0200
committerMarcel Hellkamp <marc@gsites.de>2009-07-09 14:36:06 +0200
commit681ca7b4a70deedd0017759c6dfa1659d016d1d5 (patch)
treee09c7dcd562a3790d78f8856d3ea2063178a11c2
parentae1f99b179649348732dadb170acf8244e3bee93 (diff)
downloadbottle-681ca7b4a70deedd0017759c6dfa1659d016d1d5.tar.gz
BottleBucket.close() now only saves values to dbm backend if they have changed. Version bump
-rw-r--r--bottle.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/bottle.py b/bottle.py
index 0daf836..f7c8f0c 100644
--- a/bottle.py
+++ b/bottle.py
@@ -55,7 +55,7 @@ Example
"""
__author__ = 'Marcel Hellkamp'
-__version__ = ('0', '4', '5')
+__version__ = ('0', '4', '6')
__license__ = 'MIT'
@@ -722,7 +722,9 @@ class BottleBucket(dict):
def close(self):
for key in self.mmap.keys():
- self.db[key] = pickle.dumps(self.mmap[key], pickle.HIGHEST_PROTOCOL)
+ pvalue = pickle.dumps(self.mmap[key], pickle.HIGHEST_PROTOCOL)
+ if key not in self.db or pvalue != self.db[key]:
+ self.db[key] = pvalue
self.mmap.clear()
self.db.close()