On Tue, 31 Mar 2015 17:57:59 +0200 Christophe Fergeau <cfergeau@xxxxxxxxxx> wrote: > From a quick glance, the changes look sane to me (split patch would have > been even more straightforward to review ;) Duly noted. I'll keep that in mind for the future. > First time I hear about six.py, so I don't know about that :( six.py is a collection of helpers for Python 2/3 compatibility. It's generally installable from the distribution's repositories, hence my ambivalence about bundling it. Bundling is easy (at least in this case), but I know Debian would throw a fit over it. > One comment below: > > > diff --git a/python_modules/codegen.py b/python_modules/codegen.py > > index 009cf95..4ff4c55 100644 > > --- a/python_modules/codegen.py > > +++ b/python_modules/codegen.py > > @@ -119,21 +120,24 @@ class CodeWriter: > > return writer > > > > def write(self, s): > > - # Ensure its a string > > - s = str(s) > > + # Ensure its a unicode string > > + if six.PY2: > > + s = unicode(s) > > + else: > > + s = str(s) > > Why do we need a unicode string here? The reason for this is that 2to3 changed the import of StringIO, since cStringIO is not available in python3: http://stackoverflow.com/questions/11914472/stringio-in-python3 Unfortunately, io.StringIO only accepts unicode arguments, not plain str. Note that in python3, there is no such thing as the unicode type; str is now a Unicode string, which is why it's different between the two. > > I also had to use this patch or the file generation would first error > out, and then would contain some *ptr += 1.0; rather than *ptr += 1; > With these changes, the files are the same when generated with python2 > or python3 on my system (python3-3.4.2-4.fc22.x86_64) Ah, yes. That's one of the other big changes in python3: integer division. The proper python3 way to do it is the // operator, which has apparently been available in python2 since 2.2: https://docs.python.org/release/2.2.3/whatsnew/node7.html _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel