From cf9a1617599bb680deef2bab76fc6022f7dad50b Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Tue, 4 Mar 2008 20:23:38 +0000 Subject: check the mtime of the cached spec against the code that generates it git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@633623 13f79535-47bb-0310-9956-ffa450edef68 --- python/qpid/spec010.py | 7 +++---- python/qpid/util.py | 5 ++++- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'python') diff --git a/python/qpid/spec010.py b/python/qpid/spec010.py index 2d8bd6050d..e6b7946e17 100644 --- a/python/qpid/spec010.py +++ b/python/qpid/spec010.py @@ -17,8 +17,9 @@ # under the License. # -import datatypes +import os, cPickle, datatypes from codec010 import StringCodec +from util import mtime class Node: @@ -598,11 +599,9 @@ class Loader: def do_exception(self, e): return Exception(id(e["@name"]), id(e["@error-code"]), self.children(e)) -import os, cPickle - def load(xml): fname = xml + ".pcl" - if os.path.exists(fname): + if os.path.exists(fname) and mtime(fname) > mtime(__file__): file = open(fname, "r") s = cPickle.load(file) file.close() diff --git a/python/qpid/util.py b/python/qpid/util.py index c88cc0c9d6..e41dfc75fb 100644 --- a/python/qpid/util.py +++ b/python/qpid/util.py @@ -17,7 +17,7 @@ # under the License. # -import socket +import os, socket def connect(host, port): sock = socket.socket() @@ -37,3 +37,6 @@ def listen(host, port, predicate = lambda: True, bound = lambda: None): while predicate(): s, a = sock.accept() yield s + +def mtime(filename): + return os.stat(filename).st_mtime -- cgit v1.2.1