[et-mgmt-tools] [PATCH] virt-convert: fix Python 2.4 compatibility
john.levon at sun.com
john.levon at sun.com
Thu Jul 17 21:30:34 UTC 2008
# HG changeset patch
# User john.levon at sun.com
# Date 1216330222 25200
# Node ID 2ff8e5fe0868cf18643e1d7d2455d479c9379f44
# Parent cd648dc6a9492fe3b703e5ebc7f43d05bb03adeb
virt-convert: fix Python 2.4 compatibility
Sadly, pkgutil.iter_modules() is new in Python 2.5, so the automatic
module finding code won't work in 2.4. Add hard-coded fallbacks for Python 2.4
and earlier.
Signed-off-by: John Levon <john.levon at sun.com>
diff --git a/virtconv/__init__.py b/virtconv/__init__.py
--- a/virtconv/__init__.py
+++ b/virtconv/__init__.py
@@ -24,6 +24,14 @@
parsers_path = [os.path.join(__path__[0], "parsers/")]
-for loader, name, ispkg in pkgutil.iter_modules(parsers_path):
+# iter_modules is only in Python 2.5, sadly
+parser_names = [ "vmx", "virtimage" ]
+
+if hasattr(pkgutil, "iter_modules"):
+ parser_names = []
+ for ignore, name, ignore in pkgutil.iter_modules(parsers_path):
+ parser_names += [ name ]
+
+for name in parser_names:
filename, pathname, desc = imp.find_module(name, parsers_path)
imp.load_module(name, filename, pathname, desc)
More information about the et-mgmt-tools
mailing list