summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/qpid/spec010.py7
-rw-r--r--python/qpid/util.py5
2 files changed, 7 insertions, 5 deletions
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