diff options
author | Rafael H. Schloming <rhs@apache.org> | 2008-05-06 18:31:11 +0000 |
---|---|---|
committer | Rafael H. Schloming <rhs@apache.org> | 2008-05-06 18:31:11 +0000 |
commit | f5813621fff3ca6720e7851bf9f914258f16b60c (patch) | |
tree | d56abae1444d4bf860f06cc6dff545e73f52afee /python/qpid/spec010.py | |
parent | 8d8a9162f7ba5a99a7c8b8b57aae860ab3028078 (diff) | |
download | qpid-python-f5813621fff3ca6720e7851bf9f914258f16b60c.tar.gz |
QPID-1033: made loading of the spec file not fail if the results cannot be cached, e.g. due to an unwritable directory
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@653875 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/qpid/spec010.py')
-rw-r--r-- | python/qpid/spec010.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/python/qpid/spec010.py b/python/qpid/spec010.py index 03f60edc4e..1668729876 100644 --- a/python/qpid/spec010.py +++ b/python/qpid/spec010.py @@ -621,6 +621,7 @@ class Loader: def load(xml): fname = xml + ".pcl" + if os.path.exists(fname) and mtime(fname) > mtime(__file__): file = open(fname, "r") s = cPickle.load(file) @@ -630,7 +631,14 @@ def load(xml): s = doc["amqp"].dispatch(Loader()) s.register() s.resolve() - file = open(fname, "w") - cPickle.dump(s, file) - file.close() + + try: + file = open(fname, "w") + except IOError: + file = None + + if file: + cPickle.dump(s, file) + file.close() + return s |