-#!/usr/bin/env python2.5
+#!/usr/bin/python
"""
Collates the results of listvms from multiple VM servers. Part of the xvm
"""
from itertools import chain
-from subprocess import CalledProcessError, PIPE, Popen
+from subprocess import PIPE, Popen
+try:
+ from subprocess import CalledProcessError
+except ImportError:
+ # Python 2.4 doesn't implement CalledProcessError
+ class CalledProcessError(Exception):
+ """This exception is raised when a process run by check_call() returns
+ a non-zero exit status. The exit status will be stored in the
+ returncode attribute."""
+ def __init__(self, returncode, cmd):
+ self.returncode = returncode
+ self.cmd = cmd
+ def __str__(self):
+ return "Command '%s' returned non-zero exit status %d" % (self.cmd, self.returncode)
from sys import argv, stdout
from yaml import safe_dump, safe_load