diff MoinMoin/user.py @ 5576:6b94d284ad11

avoid writing key/value to session dict if value doesn't change
author Thomas Waldmann <tw AT waldmann-edv DOT de>
date Tue, 23 Feb 2010 03:41:30 +0100
parents bdf396ab799d
children 4c6a4adf0540
line wrap: on
line diff
--- a/MoinMoin/user.py	Tue Feb 23 02:29:09 2010 +0100
+++ b/MoinMoin/user.py	Tue Feb 23 03:41:30 2010 +0100
@@ -891,6 +891,7 @@
                 pagename = self._interWikiName(pagename)
 
             trail = self._request.session.get('trail', [])
+            trail_current = trail[:]
 
             # Don't append tail to trail ;)
             if trail and trail[-1] == pagename:
@@ -901,7 +902,10 @@
             pagename_stripped = pagename.strip()
             if pagename_stripped:
                 trail.append(pagename_stripped)
-            self._request.session['trail'] = trail[-self._cfg.trail_size:]
+            trail = trail[-self._cfg.trail_size:]
+            if trail != trail_current:
+                # we only modify the session if we have something different:
+                self._request.session['trail'] = trail
 
     def getTrail(self):
         """ Return list of recently visited pages.