diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-07-23 09:01:30 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-07-23 09:01:30 +0100 |
commit | 200ca5d25f7af0d02d96b1a40063599bfafb7529 (patch) | |
tree | c1f8a7a12a0fcd759ec751057e9653ba254a065f /tools | |
parent | f230ee0045d0a8a3c4cdbaa10f70df7fee88324f (diff) | |
download | xen-200ca5d25f7af0d02d96b1a40063599bfafb7529.tar.gz xen-200ca5d25f7af0d02d96b1a40063599bfafb7529.tar.bz2 xen-200ca5d25f7af0d02d96b1a40063599bfafb7529.zip |
python: make tools/python/xen/util/fileuri.py work on python 2.3
@staticmethod syntax sugar was introduced at python2.4.
expand the syntax sugar for python 2.3
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/python/xen/util/fileuri.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/tools/python/xen/util/fileuri.py b/tools/python/xen/util/fileuri.py index 2b152778e0..6282414a48 100644 --- a/tools/python/xen/util/fileuri.py +++ b/tools/python/xen/util/fileuri.py @@ -50,7 +50,6 @@ class scheme_error(Exception): # o Only base64 is currently supported class scheme_data: - @staticmethod def encode(data, mediatype = 'application/octet-stream', encoding = 'base64'): # XXX Limit this to base64 for current implementation @@ -58,9 +57,9 @@ class scheme_data: raise scheme_error("invalid encoding") return 'data:' + mediatype + ";" + encoding \ + "," + base64.b64encode(data) + encode = staticmethod(encode) # Private method: parse encoded data - @staticmethod def parse(encoded_data): if not isinstance(encoded_data, str): raise scheme_error("encoded data has wrong type") @@ -78,11 +77,11 @@ class scheme_data: raise scheme_error("encoding is not base64") mediatype = mtenc[:-7] return (mediatype, 'base64', comma+1) + parse = staticmethod(parse) # Stores the data in a local file and returns the filename # and a flag if this file in temporary only and must be deleted # after starting the VM. - @staticmethod def decode(encoded_data): mkdir.parents("/var/run/xend/boot/", stat.S_IRWXU) mediatype, encoding, data_start = scheme_data.parse(encoded_data) @@ -91,10 +90,10 @@ class scheme_data: os.write(fd, base64.b64decode(encoded_data[data_start:])) os.close(fd) return filename, True + decode = staticmethod(decode) # Utility function which reads in the given (local) file and # creates a data scheme from this. - @staticmethod def create_from_file(filename): try: f = open(filename, "r") @@ -103,6 +102,7 @@ class scheme_data: return scheme_data.encode(d) except IOError: raise scheme_error("file does not exists") + create_from_file = staticmethod(create_from_file) class scheme_data_unit_tests(unittest.TestCase): @@ -181,15 +181,14 @@ class scheme_data_unit_tests(unittest.TestCase): # This class supports absolut paths only. class scheme_file: - @staticmethod def encode(filename): if len(filename) == 0: raise scheme_error("filename is empty") if filename[0] != '/': raise scheme_error("filename is not absolut") return 'file://' + filename + encode = staticmethod(encode) - @staticmethod def decode(encoded_data): if not encoded_data.startswith("file://"): raise scheme_error("no file:// scheme found") @@ -199,6 +198,7 @@ class scheme_file: if path[0]!='/': raise scheme_error("path is not absolute") return path, False + decode = staticmethod(decode) class scheme_file_unit_tests(unittest.TestCase): |