On Tue, Dec 3, 2013 at 10:53 AM, Daniel P. Berrange <berrange@xxxxxxxxxx> wrote: > On Tue, Dec 03, 2013 at 10:44:07AM -0600, Doug Goldstein wrote: >> On Tue, Dec 3, 2013 at 10:36 AM, Daniel P. Berrange <berrange@xxxxxxxxxx> wrote: >> > From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> >> > >> > The 'print' method must be called as a function in python3, >> > ie with brackets. >> > >> > Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> >> > --- >> > generator.py | 42 +++++++++++++++++++++--------------------- >> > 1 file changed, 21 insertions(+), 21 deletions(-) >> > >> > diff --git a/generator.py b/generator.py >> > index 0c31ab2..23bae9a 100755 >> > --- a/generator.py >> > +++ b/generator.py >> > @@ -48,24 +48,24 @@ class docParser(xml.sax.handler.ContentHandler): >> > >> > def close(self): >> > if debug: >> > - print "close" >> > + print("close") >> > >> > def getmethodname(self): >> > return self._methodname >> > >> > def data(self, text): >> > if debug: >> > - print "data %s" % text >> > + print("data %s" % text) >> > self._data.append(text) >> > >> > def cdata(self, text): >> > if debug: >> > - print "data %s" % text >> > + print("data %s" % text) >> > self._data.append(text) >> > >> > def start(self, tag, attrs): >> > if debug: >> > - print "start %s, %s" % (tag, attrs) >> > + print("start %s, %s" % (tag, attrs)) >> > if tag == 'function': >> > self._data = [] >> > self.in_function = 1 >> > @@ -123,7 +123,7 @@ class docParser(xml.sax.handler.ContentHandler): >> > >> > def end(self, tag): >> > if debug: >> > - print "end %s" % tag >> > + print("end %s" % tag) >> > if tag == 'function': >> > # fuctions come from source files, hence 'virerror.c' >> > if self.function is not None: >> > @@ -600,7 +600,7 @@ def print_function_wrapper(module, name, output, export, include): >> > if module == "libvirt-qemu": >> > (desc, ret, args, file, mod, cond) = qemu_functions[name] >> > except: >> > - print "failed to get function %s infos" % name >> > + print("failed to get function %s infos" % name) >> > return >> > >> > if skipped_modules.has_key(module): >> > @@ -794,7 +794,7 @@ def buildStubs(module, api_xml): >> > global onlyOverrides >> > >> > if module not in ["libvirt", "libvirt-qemu", "libvirt-lxc"]: >> > - print "ERROR: Unknown module type: %s" % module >> > + print("ERROR: Unknown module type: %s" % module) >> > return None >> > >> > if module == "libvirt": >> > @@ -818,13 +818,13 @@ def buildStubs(module, api_xml): >> > (parser, target) = getparser() >> > parser.feed(data) >> > parser.close() >> > - except IOError, msg: >> > - print file, ":", msg >> > + except IOError as msg: >> > + print(file, ":", msg) >> > sys.exit(1) >> > >> > n = len(funcs.keys()) >> > if not quiet: >> > - print "Found %d functions in %s" % ((n), api_xml) >> > + print("Found %d functions in %s" % ((n), api_xml)) >> > >> > override_api_xml = "%s-override-api.xml" % module >> > py_types['pythonObject'] = ('O', "pythonObject", "pythonObject", "pythonObject") >> > @@ -837,13 +837,13 @@ def buildStubs(module, api_xml): >> > (parser, target) = getparser() >> > parser.feed(data) >> > parser.close() >> > - except IOError, msg: >> > - print file, ":", msg >> > + except IOError as msg: >> > + print(file, ":", msg) >> > >> > if not quiet: >> > # XXX: This is not right, same function already in @functions >> > # will be overwritten. >> > - print "Found %d functions in %s" % ((len(funcs.keys()) - n), override_api_xml) >> > + print("Found %d functions in %s" % ((len(funcs.keys()) - n), override_api_xml)) >> > nb_wrap = 0 >> > failed = 0 >> > skipped = 0 >> > @@ -883,15 +883,15 @@ def buildStubs(module, api_xml): >> > wrapper.close() >> > >> > if not quiet: >> > - print "Generated %d wrapper functions" % nb_wrap >> > + print("Generated %d wrapper functions" % nb_wrap) >> > >> > if unknown_types: >> > - print "Missing type converters: " >> > + print("Missing type converters: ") >> > for type in unknown_types.keys(): >> > - print "%s:%d " % (type, len(unknown_types[type])), >> > + print("%s:%d " % (type, len(unknown_types[type]))) >> > >> > for f in funcs_failed: >> > - print "ERROR: failed %s" % f >> > + print("ERROR: failed %s" % f) >> > >> > if failed > 0: >> > return -1 >> > @@ -1229,7 +1229,7 @@ def buildWrappers(module): >> > global functions_noexcept >> > >> > if not module == "libvirt": >> > - print "ERROR: Unknown module type: %s" % module >> > + print("ERROR: Unknown module type: %s" % module) >> > return None >> > >> > for type in classes_type.keys(): >> > @@ -1786,7 +1786,7 @@ def qemuBuildWrappers(module): >> > global qemu_functions >> > >> > if not module == "libvirt-qemu": >> > - print "ERROR: only libvirt-qemu is supported" >> > + print("ERROR: only libvirt-qemu is supported") >> > return None >> > >> > extra_file = "%s-override.py" % module >> > @@ -1897,7 +1897,7 @@ def lxcBuildWrappers(module): >> > global lxc_functions >> > >> > if not module == "libvirt-lxc": >> > - print "ERROR: only libvirt-lxc is supported" >> > + print("ERROR: only libvirt-lxc is supported") >> > return None >> > >> > extra_file = "%s-override.py" % module >> > @@ -2018,7 +2018,7 @@ elif sys.argv[1] == "libvirt-lxc": >> > elif sys.argv[1] == "libvirt-qemu": >> > qemuBuildWrappers(sys.argv[1]) >> > else: >> > - print "ERROR: unknown module %s" % sys.argv[1] >> > + print("ERROR: unknown module %s" % sys.argv[1]) >> > sys.exit(1) >> > >> > sys.exit(0) >> > -- >> > 1.8.3.1 >> > >> > -- >> > libvir-list mailing list >> > libvir-list@xxxxxxxxxx >> > https://www.redhat.com/mailman/listinfo/libvir-list >> >> >> My patch actually uses "myprint" and provides that function which just >> calls the built in function when possible but provides one when not >> possible. Would we want to go with that approach instead? > > Not sure I understand what your patch is doing ? Why would we need to > create a wrapper function, instead of just using this syntax which > works on python 2+3 > > We talked about this on IRC. Dan dropped the syntaxes (e.g. trailing comma) that wouldn't work on older Pythons so this is good. ACK. -- Doug Goldstein -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list