From c32a960cae3eca434369502fb12b23b62ae6b2bf Mon Sep 17 00:00:00 2001 From: "rcritten@redhat.com" Date: Fri, 30 Nov 2007 15:53:02 -0500 Subject: Compatibility changes to work on RHEL 5 with python 2.4 --- ipa-python/ipautil.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'ipa-python') diff --git a/ipa-python/ipautil.py b/ipa-python/ipautil.py index df9231884..9b8412d23 100644 --- a/ipa-python/ipautil.py +++ b/ipa-python/ipautil.py @@ -33,6 +33,22 @@ from string import lower import re import xmlrpclib import datetime +try: + from subprocess import CalledProcessError + class CalledProcessError(subprocess.CalledProcessError): + def __init__(self, returncode, cmd): + super(CalledProcessError, self).__init__(returncode, cmd) +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) def realm_to_suffix(realm_name): s = realm_name.split(".") @@ -63,7 +79,7 @@ def run(args, stdin=None): logging.info(stderr) if p.returncode != 0: - raise subprocess.CalledProcessError(p.returncode, ' '.join(args)) + raise self.CalledProcessError(p.returncode, ' '.join(args)) def file_exists(filename): try: -- cgit