aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-07-23 09:01:30 +0100
committerKeir Fraser <keir.fraser@citrix.com>2009-07-23 09:01:30 +0100
commit200ca5d25f7af0d02d96b1a40063599bfafb7529 (patch)
treec1f8a7a12a0fcd759ec751057e9653ba254a065f /tools
parentf230ee0045d0a8a3c4cdbaa10f70df7fee88324f (diff)
downloadxen-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.py12
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):