open cache files in binary mode for pickle
[sfa.git] / sfa / util / cache.py
index ee4716c..75b22e4 100644 (file)
@@ -75,7 +75,7 @@ class Cache:
    
     def add(self, key, value, ttl = DEFAULT_CACHE_TTL):
         with self.lock:
-            if self.cache.has_key(key):
+            if key in self.cache:
                 self.cache[key].set_data(value, ttl=ttl)
             else:
                 self.cache[key] = CacheData(value, ttl)
@@ -108,9 +108,9 @@ class Cache:
         return self.__str()    
 
     def save_to_file(self, filename):
-        f = open(filename, 'w')
+        f = open(filename, 'wb')
         pickle.dump(self.cache, f)
 
     def load_from_file(self, filename):
-        f = open(filename, 'r')
+        f = open(filename, 'rb')
         self.cache = pickle.load(f)