diff mercurial/util.py @ 8207:dd8d5be57d65

util: take propertycache from context.py
author Matt Mackall <mpm@selenic.com>
date Sun, 26 Apr 2009 16:50:44 -0500
parents 03d93882fc93
children a1a5a57efe90
line wrap: on
line diff
--- a/mercurial/util.py	Sun Apr 26 16:50:44 2009 -0500
+++ b/mercurial/util.py	Sun Apr 26 16:50:44 2009 -0500
@@ -137,6 +137,15 @@
 
     return f
 
+class propertycache(object):
+    def __init__(self, func):
+        self.func = func
+        self.name = func.__name__
+    def __get__(self, obj, type=None):
+        result = self.func(obj)
+        setattr(obj, self.name, result)
+        return result
+
 def pipefilter(s, cmd):
     '''filter string S through command CMD, returning its output'''
     (pin, pout) = popen2(cmd, 'b')