maint: Expand tabs in python code

Also cfg.mk is tweaked to force this for all future changes to *.py
files.
This commit is contained in:
Jiri Denemark 2011-02-16 16:57:50 +01:00
parent 39164c11d3
commit 15285754dd
5 changed files with 2279 additions and 2279 deletions

4
cfg.mk
View File

@ -327,8 +327,8 @@ sc_prohibit_ctype_h:
# files in gnulib, since they're imported. # files in gnulib, since they're imported.
sc_TAB_in_indentation: sc_TAB_in_indentation:
@prohibit='^ * ' \ @prohibit='^ * ' \
in_vc_files='(\.(rng|[ch](\.in)?|html.in)|(daemon|tools)/.*\.in)$$' \ in_vc_files='(\.(rng|[ch](\.in)?|html.in|py)|(daemon|tools)/.*\.in)$$' \
halt='use leading spaces, not TAB, in C, sh, html, and RNG schemas' \ halt='use leading spaces, not TAB, in C, sh, html, py, and RNG schemas' \
$(_sc_search_regexp) $(_sc_search_regexp)
ctype_re = isalnum|isalpha|isascii|isblank|iscntrl|isdigit|isgraph|islower\ ctype_re = isalnum|isalpha|isascii|isblank|iscntrl|isdigit|isgraph|islower\

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -90,8 +90,8 @@ class docParser(xml.sax.handler.ContentHandler):
self.function_arg_info = None self.function_arg_info = None
if attrs.has_key('name'): if attrs.has_key('name'):
self.function_arg_name = attrs['name'] self.function_arg_name = attrs['name']
if self.function_arg_name == 'from': if self.function_arg_name == 'from':
self.function_arg_name = 'frm' self.function_arg_name = 'frm'
if attrs.has_key('type'): if attrs.has_key('type'):
self.function_arg_type = attrs['type'] self.function_arg_type = attrs['type']
if attrs.has_key('info'): if attrs.has_key('info'):
@ -409,8 +409,8 @@ def print_function_wrapper(name, output, export, include):
if name in skip_function: if name in skip_function:
return 0 return 0
if name in skip_impl: if name in skip_impl:
# Don't delete the function entry in the caller. # Don't delete the function entry in the caller.
return 1 return 1
c_call = ""; c_call = "";
format="" format=""
@ -426,8 +426,8 @@ def print_function_wrapper(name, output, export, include):
c_args = c_args + " %s %s;\n" % (arg[1], arg[0]) c_args = c_args + " %s %s;\n" % (arg[1], arg[0])
if py_types.has_key(arg[1]): if py_types.has_key(arg[1]):
(f, t, n, c) = py_types[arg[1]] (f, t, n, c) = py_types[arg[1]]
if (f == 'z') and (name in foreign_encoding_args) and (num_bufs == 0): if (f == 'z') and (name in foreign_encoding_args) and (num_bufs == 0):
f = 't#' f = 't#'
if f != None: if f != None:
format = format + f format = format + f
if t != None: if t != None:
@ -438,10 +438,10 @@ def print_function_wrapper(name, output, export, include):
arg[1], t, arg[0]); arg[1], t, arg[0]);
else: else:
format_args = format_args + ", &%s" % (arg[0]) format_args = format_args + ", &%s" % (arg[0])
if f == 't#': if f == 't#':
format_args = format_args + ", &py_buffsize%d" % num_bufs format_args = format_args + ", &py_buffsize%d" % num_bufs
c_args = c_args + " int py_buffsize%d;\n" % num_bufs c_args = c_args + " int py_buffsize%d;\n" % num_bufs
num_bufs = num_bufs + 1 num_bufs = num_bufs + 1
if c_call != "": if c_call != "":
c_call = c_call + ", "; c_call = c_call + ", ";
c_call = c_call + "%s" % (arg[0]) c_call = c_call + "%s" % (arg[0])
@ -459,14 +459,14 @@ def print_function_wrapper(name, output, export, include):
if ret[0] == 'void': if ret[0] == 'void':
if file == "python_accessor": if file == "python_accessor":
if args[1][1] == "char *": if args[1][1] == "char *":
c_call = "\n free(%s->%s);\n" % ( c_call = "\n free(%s->%s);\n" % (
args[0][0], args[1][0], args[0][0], args[1][0]) args[0][0], args[1][0], args[0][0], args[1][0])
c_call = c_call + " %s->%s = (%s)strdup((const xmlChar *)%s);\n" % (args[0][0], c_call = c_call + " %s->%s = (%s)strdup((const xmlChar *)%s);\n" % (args[0][0],
args[1][0], args[1][1], args[1][0]) args[1][0], args[1][1], args[1][0])
else: else:
c_call = "\n %s->%s = %s;\n" % (args[0][0], args[1][0], c_call = "\n %s->%s = %s;\n" % (args[0][0], args[1][0],
args[1][0]) args[1][0])
else: else:
c_call = "\n %s(%s);\n" % (name, c_call); c_call = "\n %s(%s);\n" % (name, c_call);
ret_convert = " Py_INCREF(Py_None);\n return(Py_None);\n" ret_convert = " Py_INCREF(Py_None);\n return(Py_None);\n"
@ -508,24 +508,24 @@ def print_function_wrapper(name, output, export, include):
if file == "python": if file == "python":
# Those have been manually generated # Those have been manually generated
if cond != None and cond != "": if cond != None and cond != "":
include.write("#endif\n"); include.write("#endif\n");
export.write("#endif\n"); export.write("#endif\n");
output.write("#endif\n"); output.write("#endif\n");
return 1 return 1
if file == "python_accessor" and ret[0] != "void" and ret[2] is None: if file == "python_accessor" and ret[0] != "void" and ret[2] is None:
# Those have been manually generated # Those have been manually generated
if cond != None and cond != "": if cond != None and cond != "":
include.write("#endif\n"); include.write("#endif\n");
export.write("#endif\n"); export.write("#endif\n");
output.write("#endif\n"); output.write("#endif\n");
return 1 return 1
output.write("PyObject *\n") output.write("PyObject *\n")
output.write("libvirt_%s(PyObject *self ATTRIBUTE_UNUSED," % (name)) output.write("libvirt_%s(PyObject *self ATTRIBUTE_UNUSED," % (name))
output.write(" PyObject *args") output.write(" PyObject *args")
if format == "": if format == "":
output.write(" ATTRIBUTE_UNUSED") output.write(" ATTRIBUTE_UNUSED")
output.write(") {\n") output.write(") {\n")
if ret[0] != 'void': if ret[0] != 'void':
output.write(" PyObject *py_retval;\n") output.write(" PyObject *py_retval;\n")
@ -557,38 +557,38 @@ def buildStubs():
global unknown_types global unknown_types
try: try:
f = open(os.path.join(srcPref,"libvirt-api.xml")) f = open(os.path.join(srcPref,"libvirt-api.xml"))
data = f.read() data = f.read()
(parser, target) = getparser() (parser, target) = getparser()
parser.feed(data) parser.feed(data)
parser.close() parser.close()
except IOError, msg: except IOError, msg:
try: try:
f = open(os.path.join(srcPref,"..","docs","libvirt-api.xml")) f = open(os.path.join(srcPref,"..","docs","libvirt-api.xml"))
data = f.read() data = f.read()
(parser, target) = getparser() (parser, target) = getparser()
parser.feed(data) parser.feed(data)
parser.close() parser.close()
except IOError, msg: except IOError, msg:
print file, ":", msg print file, ":", msg
sys.exit(1) sys.exit(1)
n = len(functions.keys()) n = len(functions.keys())
print "Found %d functions in libvirt-api.xml" % (n) print "Found %d functions in libvirt-api.xml" % (n)
py_types['pythonObject'] = ('O', "pythonObject", "pythonObject", "pythonObject") py_types['pythonObject'] = ('O', "pythonObject", "pythonObject", "pythonObject")
try: try:
f = open(os.path.join(srcPref,"libvirt-override-api.xml")) f = open(os.path.join(srcPref,"libvirt-override-api.xml"))
data = f.read() data = f.read()
(parser, target) = getparser() (parser, target) = getparser()
parser.feed(data) parser.feed(data)
parser.close() parser.close()
except IOError, msg: except IOError, msg:
print file, ":", msg print file, ":", msg
print "Found %d functions in libvirt-override-api.xml" % ( print "Found %d functions in libvirt-override-api.xml" % (
len(functions.keys()) - n) len(functions.keys()) - n)
nb_wrap = 0 nb_wrap = 0
failed = 0 failed = 0
skipped = 0 skipped = 0
@ -604,17 +604,17 @@ def buildStubs():
wrapper.write("#include \"typewrappers.h\"\n") wrapper.write("#include \"typewrappers.h\"\n")
wrapper.write("#include \"libvirt.h\"\n\n") wrapper.write("#include \"libvirt.h\"\n\n")
for function in functions.keys(): for function in functions.keys():
ret = print_function_wrapper(function, wrapper, export, include) ret = print_function_wrapper(function, wrapper, export, include)
if ret < 0: if ret < 0:
failed = failed + 1 failed = failed + 1
functions_failed.append(function) functions_failed.append(function)
del functions[function] del functions[function]
if ret == 0: if ret == 0:
skipped = skipped + 1 skipped = skipped + 1
functions_skipped.append(function) functions_skipped.append(function)
del functions[function] del functions[function]
if ret == 1: if ret == 1:
nb_wrap = nb_wrap + 1 nb_wrap = nb_wrap + 1
include.close() include.close()
export.close() export.close()
wrapper.close() wrapper.close()
@ -623,7 +623,7 @@ def buildStubs():
print "Missing type converters: " print "Missing type converters: "
for type in unknown_types.keys(): for type in unknown_types.keys():
print "%s:%d " % (type, len(unknown_types[type])), print "%s:%d " % (type, len(unknown_types[type])),
print print
for f in functions_failed: for f in functions_failed:
@ -955,7 +955,7 @@ def buildWrappers():
global functions_noexcept global functions_noexcept
for type in classes_type.keys(): for type in classes_type.keys():
function_classes[classes_type[type][2]] = [] function_classes[classes_type[type][2]] = []
# #
# Build the list of C types to look for ordered to start # Build the list of C types to look for ordered to start
@ -966,46 +966,46 @@ def buildWrappers():
ctypes_processed = {} ctypes_processed = {}
classes_processed = {} classes_processed = {}
for classe in primary_classes: for classe in primary_classes:
classes_list.append(classe) classes_list.append(classe)
classes_processed[classe] = () classes_processed[classe] = ()
for type in classes_type.keys(): for type in classes_type.keys():
tinfo = classes_type[type] tinfo = classes_type[type]
if tinfo[2] == classe: if tinfo[2] == classe:
ctypes.append(type) ctypes.append(type)
ctypes_processed[type] = () ctypes_processed[type] = ()
for type in classes_type.keys(): for type in classes_type.keys():
if ctypes_processed.has_key(type): if ctypes_processed.has_key(type):
continue continue
tinfo = classes_type[type] tinfo = classes_type[type]
if not classes_processed.has_key(tinfo[2]): if not classes_processed.has_key(tinfo[2]):
classes_list.append(tinfo[2]) classes_list.append(tinfo[2])
classes_processed[tinfo[2]] = () classes_processed[tinfo[2]] = ()
ctypes.append(type) ctypes.append(type)
ctypes_processed[type] = () ctypes_processed[type] = ()
for name in functions.keys(): for name in functions.keys():
found = 0; found = 0;
(desc, ret, args, file, cond) = functions[name] (desc, ret, args, file, cond) = functions[name]
for type in ctypes: for type in ctypes:
classe = classes_type[type][2] classe = classes_type[type][2]
if name[0:3] == "vir" and len(args) >= 1 and args[0][1] == type: if name[0:3] == "vir" and len(args) >= 1 and args[0][1] == type:
found = 1 found = 1
func = nameFixup(name, classe, type, file) func = nameFixup(name, classe, type, file)
info = (0, func, name, ret, args, file) info = (0, func, name, ret, args, file)
function_classes[classe].append(info) function_classes[classe].append(info)
elif name[0:3] == "vir" and len(args) >= 2 and args[1][1] == type \ elif name[0:3] == "vir" and len(args) >= 2 and args[1][1] == type \
and file != "python_accessor" and not name in function_skip_index_one: and file != "python_accessor" and not name in function_skip_index_one:
found = 1 found = 1
func = nameFixup(name, classe, type, file) func = nameFixup(name, classe, type, file)
info = (1, func, name, ret, args, file) info = (1, func, name, ret, args, file)
function_classes[classe].append(info) function_classes[classe].append(info)
if found == 1: if found == 1:
continue continue
func = nameFixup(name, "None", file, file) func = nameFixup(name, "None", file, file)
info = (0, func, name, ret, args, file) info = (0, func, name, ret, args, file)
function_classes['None'].append(info) function_classes['None'].append(info)
classes = open("libvirt.py", "w") classes = open("libvirt.py", "w")
@ -1032,60 +1032,60 @@ def buildWrappers():
extra.close() extra.close()
if function_classes.has_key("None"): if function_classes.has_key("None"):
flist = function_classes["None"] flist = function_classes["None"]
flist.sort(functionCompare) flist.sort(functionCompare)
oldfile = "" oldfile = ""
for info in flist: for info in flist:
(index, func, name, ret, args, file) = info (index, func, name, ret, args, file) = info
if file != oldfile: if file != oldfile:
classes.write("#\n# Functions from module %s\n#\n\n" % file) classes.write("#\n# Functions from module %s\n#\n\n" % file)
oldfile = file oldfile = file
classes.write("def %s(" % func) classes.write("def %s(" % func)
n = 0 n = 0
for arg in args: for arg in args:
if n != 0: if n != 0:
classes.write(", ") classes.write(", ")
classes.write("%s" % arg[0]) classes.write("%s" % arg[0])
n = n + 1 n = n + 1
classes.write("):\n") classes.write("):\n")
writeDoc(name, args, ' ', classes); writeDoc(name, args, ' ', classes);
for arg in args: for arg in args:
if classes_type.has_key(arg[1]): if classes_type.has_key(arg[1]):
classes.write(" if %s is None: %s__o = None\n" % classes.write(" if %s is None: %s__o = None\n" %
(arg[0], arg[0])) (arg[0], arg[0]))
classes.write(" else: %s__o = %s%s\n" % classes.write(" else: %s__o = %s%s\n" %
(arg[0], arg[0], classes_type[arg[1]][0])) (arg[0], arg[0], classes_type[arg[1]][0]))
if ret[0] != "void": if ret[0] != "void":
classes.write(" ret = "); classes.write(" ret = ");
else: else:
classes.write(" "); classes.write(" ");
classes.write("libvirtmod.%s(" % name) classes.write("libvirtmod.%s(" % name)
n = 0 n = 0
for arg in args: for arg in args:
if n != 0: if n != 0:
classes.write(", "); classes.write(", ");
classes.write("%s" % arg[0]) classes.write("%s" % arg[0])
if classes_type.has_key(arg[1]): if classes_type.has_key(arg[1]):
classes.write("__o"); classes.write("__o");
n = n + 1 n = n + 1
classes.write(")\n"); classes.write(")\n");
if ret[0] != "void": if ret[0] != "void":
if classes_type.has_key(ret[0]): if classes_type.has_key(ret[0]):
# #
# Raise an exception # Raise an exception
# #
if functions_noexcept.has_key(name): if functions_noexcept.has_key(name):
classes.write(" if ret is None:return None\n"); classes.write(" if ret is None:return None\n");
else: else:
classes.write( classes.write(
" if ret is None:raise libvirtError('%s() failed')\n" % " if ret is None:raise libvirtError('%s() failed')\n" %
(name)) (name))
classes.write(" return "); classes.write(" return ");
classes.write(classes_type[ret[0]][1] % ("ret")); classes.write(classes_type[ret[0]][1] % ("ret"));
classes.write("\n"); classes.write("\n");
# For functions returning an integral type there are # For functions returning an integral type there are
# several things that we can do, depending on the # several things that we can do, depending on the
@ -1099,7 +1099,7 @@ def buildWrappers():
classes.write ((" if " + test + classes.write ((" if " + test +
": raise libvirtError ('%s() failed')\n") % ": raise libvirtError ('%s() failed')\n") %
("ret", name)) ("ret", name))
classes.write(" return ret\n") classes.write(" return ret\n")
elif is_list_type (ret[0]): elif is_list_type (ret[0]):
if not functions_noexcept.has_key (name): if not functions_noexcept.has_key (name):
@ -1110,30 +1110,30 @@ def buildWrappers():
classes.write ((" if " + test + classes.write ((" if " + test +
": raise libvirtError ('%s() failed')\n") % ": raise libvirtError ('%s() failed')\n") %
("ret", name)) ("ret", name))
classes.write(" return ret\n") classes.write(" return ret\n")
else: else:
classes.write(" return ret\n") classes.write(" return ret\n")
classes.write("\n"); classes.write("\n");
for classname in classes_list: for classname in classes_list:
if classname == "None": if classname == "None":
pass pass
else: else:
if classes_ancestor.has_key(classname): if classes_ancestor.has_key(classname):
classes.write("class %s(%s):\n" % (classname, classes.write("class %s(%s):\n" % (classname,
classes_ancestor[classname])) classes_ancestor[classname]))
classes.write(" def __init__(self, _obj=None):\n") classes.write(" def __init__(self, _obj=None):\n")
if reference_keepers.has_key(classname): if reference_keepers.has_key(classname):
rlist = reference_keepers[classname] rlist = reference_keepers[classname]
for ref in rlist: for ref in rlist:
classes.write(" self.%s = None\n" % ref[1]) classes.write(" self.%s = None\n" % ref[1])
classes.write(" self._o = _obj\n") classes.write(" self._o = _obj\n")
classes.write(" %s.__init__(self, _obj=_obj)\n\n" % ( classes.write(" %s.__init__(self, _obj=_obj)\n\n" % (
classes_ancestor[classname])) classes_ancestor[classname]))
else: else:
classes.write("class %s:\n" % (classname)) classes.write("class %s:\n" % (classname))
if classname in [ "virDomain", "virNetwork", "virInterface", "virStoragePool", if classname in [ "virDomain", "virNetwork", "virInterface", "virStoragePool",
"virStorageVol", "virNodeDevice", "virSecret","virStream", "virStorageVol", "virNodeDevice", "virSecret","virStream",
"virNWFilter" ]: "virNWFilter" ]:
@ -1142,10 +1142,10 @@ def buildWrappers():
classes.write(" def __init__(self, dom, _obj=None):\n") classes.write(" def __init__(self, dom, _obj=None):\n")
else: else:
classes.write(" def __init__(self, _obj=None):\n") classes.write(" def __init__(self, _obj=None):\n")
if reference_keepers.has_key(classname): if reference_keepers.has_key(classname):
list = reference_keepers[classname] list = reference_keepers[classname]
for ref in list: for ref in list:
classes.write(" self.%s = None\n" % ref[1]) classes.write(" self.%s = None\n" % ref[1])
if classname in [ "virDomain", "virNetwork", "virInterface", if classname in [ "virDomain", "virNetwork", "virInterface",
"virNodeDevice", "virSecret", "virStream", "virNodeDevice", "virSecret", "virStream",
"virNWFilter" ]: "virNWFilter" ]:
@ -1156,16 +1156,16 @@ def buildWrappers():
" self._conn = conn._conn\n") " self._conn = conn._conn\n")
elif classname in [ "virDomainSnapshot" ]: elif classname in [ "virDomainSnapshot" ]:
classes.write(" self._dom = dom\n") classes.write(" self._dom = dom\n")
classes.write(" if _obj != None:self._o = _obj;return\n") classes.write(" if _obj != None:self._o = _obj;return\n")
classes.write(" self._o = None\n\n"); classes.write(" self._o = None\n\n");
destruct=None destruct=None
if classes_destructors.has_key(classname): if classes_destructors.has_key(classname):
classes.write(" def __del__(self):\n") classes.write(" def __del__(self):\n")
classes.write(" if self._o != None:\n") classes.write(" if self._o != None:\n")
classes.write(" libvirtmod.%s(self._o)\n" % classes.write(" libvirtmod.%s(self._o)\n" %
classes_destructors[classname]); classes_destructors[classname]);
classes.write(" self._o = None\n\n"); classes.write(" self._o = None\n\n");
destruct=classes_destructors[classname] destruct=classes_destructors[classname]
if not class_skip_connect_impl.has_key(classname): if not class_skip_connect_impl.has_key(classname):
# Build python safe 'connect' method # Build python safe 'connect' method
@ -1176,99 +1176,99 @@ def buildWrappers():
classes.write(" def domain(self):\n") classes.write(" def domain(self):\n")
classes.write(" return self._dom\n\n") classes.write(" return self._dom\n\n")
flist = function_classes[classname] flist = function_classes[classname]
flist.sort(functionCompare) flist.sort(functionCompare)
oldfile = "" oldfile = ""
for info in flist: for info in flist:
(index, func, name, ret, args, file) = info (index, func, name, ret, args, file) = info
# #
# Do not provide as method the destructors for the class # Do not provide as method the destructors for the class
# to avoid double free # to avoid double free
# #
if name == destruct: if name == destruct:
continue; continue;
if file != oldfile: if file != oldfile:
if file == "python_accessor": if file == "python_accessor":
classes.write(" # accessors for %s\n" % (classname)) classes.write(" # accessors for %s\n" % (classname))
else: else:
classes.write(" #\n") classes.write(" #\n")
classes.write(" # %s functions from module %s\n" % ( classes.write(" # %s functions from module %s\n" % (
classname, file)) classname, file))
classes.write(" #\n\n") classes.write(" #\n\n")
oldfile = file oldfile = file
classes.write(" def %s(self" % func) classes.write(" def %s(self" % func)
n = 0 n = 0
for arg in args: for arg in args:
if n != index: if n != index:
classes.write(", %s" % arg[0]) classes.write(", %s" % arg[0])
n = n + 1 n = n + 1
classes.write("):\n") classes.write("):\n")
writeDoc(name, args, ' ', classes); writeDoc(name, args, ' ', classes);
n = 0 n = 0
for arg in args: for arg in args:
if classes_type.has_key(arg[1]): if classes_type.has_key(arg[1]):
if n != index: if n != index:
classes.write(" if %s is None: %s__o = None\n" % classes.write(" if %s is None: %s__o = None\n" %
(arg[0], arg[0])) (arg[0], arg[0]))
classes.write(" else: %s__o = %s%s\n" % classes.write(" else: %s__o = %s%s\n" %
(arg[0], arg[0], classes_type[arg[1]][0])) (arg[0], arg[0], classes_type[arg[1]][0]))
n = n + 1 n = n + 1
if ret[0] != "void": if ret[0] != "void":
classes.write(" ret = "); classes.write(" ret = ");
else: else:
classes.write(" "); classes.write(" ");
classes.write("libvirtmod.%s(" % name) classes.write("libvirtmod.%s(" % name)
n = 0 n = 0
for arg in args: for arg in args:
if n != 0: if n != 0:
classes.write(", "); classes.write(", ");
if n != index: if n != index:
classes.write("%s" % arg[0]) classes.write("%s" % arg[0])
if classes_type.has_key(arg[1]): if classes_type.has_key(arg[1]):
classes.write("__o"); classes.write("__o");
else: else:
classes.write("self"); classes.write("self");
if classes_type.has_key(arg[1]): if classes_type.has_key(arg[1]):
classes.write(classes_type[arg[1]][0]) classes.write(classes_type[arg[1]][0])
n = n + 1 n = n + 1
classes.write(")\n"); classes.write(")\n");
if name == "virConnectClose": if name == "virConnectClose":
classes.write(" self._o = None\n") classes.write(" self._o = None\n")
# For functions returning object types: # For functions returning object types:
if ret[0] != "void": if ret[0] != "void":
if classes_type.has_key(ret[0]): if classes_type.has_key(ret[0]):
# #
# Raise an exception # Raise an exception
# #
if functions_noexcept.has_key(name): if functions_noexcept.has_key(name):
classes.write( classes.write(
" if ret is None:return None\n"); " if ret is None:return None\n");
else: else:
if classname == "virConnect": if classname == "virConnect":
classes.write( classes.write(
" if ret is None:raise libvirtError('%s() failed', conn=self)\n" % " if ret is None:raise libvirtError('%s() failed', conn=self)\n" %
(name)) (name))
elif classname == "virDomain": elif classname == "virDomain":
classes.write( classes.write(
" if ret is None:raise libvirtError('%s() failed', dom=self)\n" % " if ret is None:raise libvirtError('%s() failed', dom=self)\n" %
(name)) (name))
elif classname == "virNetwork": elif classname == "virNetwork":
classes.write( classes.write(
" if ret is None:raise libvirtError('%s() failed', net=self)\n" % " if ret is None:raise libvirtError('%s() failed', net=self)\n" %
(name)) (name))
elif classname == "virInterface": elif classname == "virInterface":
classes.write( classes.write(
" if ret is None:raise libvirtError('%s() failed', net=self)\n" % " if ret is None:raise libvirtError('%s() failed', net=self)\n" %
(name)) (name))
elif classname == "virStoragePool": elif classname == "virStoragePool":
classes.write( classes.write(
" if ret is None:raise libvirtError('%s() failed', pool=self)\n" % " if ret is None:raise libvirtError('%s() failed', pool=self)\n" %
(name)) (name))
elif classname == "virStorageVol": elif classname == "virStorageVol":
classes.write( classes.write(
" if ret is None:raise libvirtError('%s() failed', vol=self)\n" % " if ret is None:raise libvirtError('%s() failed', vol=self)\n" %
(name)) (name))
elif classname == "virDomainSnapshot": elif classname == "virDomainSnapshot":
classes.write( classes.write(
@ -1276,54 +1276,54 @@ def buildWrappers():
(name)) (name))
else: else:
classes.write( classes.write(
" if ret is None:raise libvirtError('%s() failed')\n" % " if ret is None:raise libvirtError('%s() failed')\n" %
(name)) (name))
# #
# generate the returned class wrapper for the object # generate the returned class wrapper for the object
# #
classes.write(" __tmp = "); classes.write(" __tmp = ");
classes.write(classes_type[ret[0]][1] % ("ret")); classes.write(classes_type[ret[0]][1] % ("ret"));
classes.write("\n"); classes.write("\n");
# #
# Sometime one need to keep references of the source # Sometime one need to keep references of the source
# class in the returned class object. # class in the returned class object.
# See reference_keepers for the list # See reference_keepers for the list
# #
tclass = classes_type[ret[0]][2] tclass = classes_type[ret[0]][2]
if reference_keepers.has_key(tclass): if reference_keepers.has_key(tclass):
list = reference_keepers[tclass] list = reference_keepers[tclass]
for pref in list: for pref in list:
if pref[0] == classname: if pref[0] == classname:
classes.write(" __tmp.%s = self\n" % classes.write(" __tmp.%s = self\n" %
pref[1]) pref[1])
# Post-processing - just before we return. # Post-processing - just before we return.
if function_post.has_key(name): if function_post.has_key(name):
classes.write(" %s\n" % classes.write(" %s\n" %
(function_post[name])); (function_post[name]));
# #
# return the class # return the class
# #
classes.write(" return __tmp\n"); classes.write(" return __tmp\n");
elif converter_type.has_key(ret[0]): elif converter_type.has_key(ret[0]):
# #
# Raise an exception # Raise an exception
# #
if functions_noexcept.has_key(name): if functions_noexcept.has_key(name):
classes.write( classes.write(
" if ret is None:return None"); " if ret is None:return None");
# Post-processing - just before we return. # Post-processing - just before we return.
if function_post.has_key(name): if function_post.has_key(name):
classes.write(" %s\n" % classes.write(" %s\n" %
(function_post[name])); (function_post[name]));
classes.write(" return "); classes.write(" return ");
classes.write(converter_type[ret[0]] % ("ret")); classes.write(converter_type[ret[0]] % ("ret"));
classes.write("\n"); classes.write("\n");
# For functions returning an integral type there # For functions returning an integral type there
# are several things that we can do, depending on # are several things that we can do, depending on
@ -1412,15 +1412,15 @@ def buildWrappers():
classes.write (" return ret\n") classes.write (" return ret\n")
else: else:
# Post-processing - just before we return. # Post-processing - just before we return.
if function_post.has_key(name): if function_post.has_key(name):
classes.write(" %s\n" % classes.write(" %s\n" %
(function_post[name])); (function_post[name]));
classes.write(" return ret\n"); classes.write(" return ret\n");
classes.write("\n"); classes.write("\n");
# Append "<classname>.py" to class def, iff it exists # Append "<classname>.py" to class def, iff it exists
try: try:
extra = open(os.path.join(srcPref,"libvirt-override-" + classname + ".py"), "r") extra = open(os.path.join(srcPref,"libvirt-override-" + classname + ".py"), "r")

View File

@ -23,7 +23,7 @@ osroot = None
for root in osroots: for root in osroots:
if os.access(root, os.R_OK): if os.access(root, os.R_OK):
osroot = root osroot = root
break break
if osroot == None: if osroot == None:
print "Could not find a guest OS root, edit to add the path in osroots" print "Could not find a guest OS root, edit to add the path in osroots"
@ -124,11 +124,11 @@ while i < 30:
time.sleep(1) time.sleep(1)
i = i + 1 i = i + 1
try: try:
t = dom.info()[4] t = dom.info()[4]
except: except:
okay = 0 okay = 0
t = -1 t = -1
break; break;
if t == 0: if t == 0:
break break