From 59eb5d49b1ff0c770829ae4c5f2ae637a5fd4e43 Mon Sep 17 00:00:00 2001 From: jortel Date: Wed, 31 Mar 2010 16:38:46 +0000 Subject: Add version checking to ensure that the cache is cleared when suds is upgraded. --- suds/cache.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/suds/cache.py b/suds/cache.py index c2bd624..8fa9b21 100644 --- a/suds/cache.py +++ b/suds/cache.py @@ -19,6 +19,7 @@ Contains basic caching classes. """ import os +import suds from tempfile import gettempdir as tmp from suds.transport import * from suds.sax.parser import Parser @@ -141,6 +142,7 @@ class FileCache(Cache): self.location = location self.duration = (None, 0) self.setduration(**duration) + self.checkversion() def fnsuffix(self): """ @@ -261,6 +263,21 @@ class FileCache(Cache): self.mktmp() return open(fn, *args) + def checkversion(self): + path = os.path.join(self.location, 'version') + try: + + f = open(path) + version = f.read() + f.close() + if version != suds.__version__: + raise Exception() + except: + self.clear() + f = open(path, 'w') + f.write(suds.__version__) + f.close() + def __fn(self, id): name = id suffix = self.fnsuffix() -- cgit v1.2.1