[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