[Mesa-dev] [PATCH] r600/egd_tables.py: make the script python 2+3 compatible
Dylan Baker
dylan at pnwbakers.com
Fri Mar 2 16:38:06 UTC 2018
Quoting Stefan Dirsch (2018-03-02 05:02:10)
> On Fri, Mar 02, 2018 at 01:39:40PM +0100, Gustaw Smolarczyk wrote:
> > 2018-03-02 12:59 GMT+01:00 Stefan Dirsch <sndirsch at suse.de>:
> >
> > On Fri, Mar 02, 2018 at 11:47:57AM +0000, Eric Engestrom wrote:
> > > On Friday, 2018-03-02 12:25:11 +0100, Stefan Dirsch wrote:
> > > > On Fri, Mar 02, 2018 at 11:03:53AM +0000, Eric Engestrom wrote:
> > > > > On Friday, 2018-03-02 11:41:00 +0100, Stefan Dirsch wrote:
> > > > > > Patch by "Tomas Chvatal" <tchvatal at suse.com> with modifications
> > > > > > by "Michal Srb" <msrb at suse.com> to not break python 2.
> > > > > >
> > > > > > https://bugzilla.suse.com/show_bug.cgi?id=1082303
> > > > > >
> > > > > > v2:
> > > > > > - no longer try to encode a unicode
> > > > > > - make use of 'from __future__ import print_function', so semantics
> > > > > > of print statements in python2 are closer to print functions in
> > python3
> > > > > >
> > > > > > https://lists.freedesktop.org/archives/mesa-dev/2018-February/
> > 187056.html
> > > > > >
> > > > > > Signed-off-by: Stefan Dirsch <sndirsch at suse.de>
> > > > > > Reviewed-by: Tomas Chvatal <tchvatal at suse.com>
> > > > > > ---
> > > > > > src/gallium/drivers/r600/egd_tables.py | 53
> > +++++++++++++++++-----------------
> > > > > > 1 file changed, 27 insertions(+), 26 deletions(-)
> > > > > >
> > > > > > diff --git a/src/gallium/drivers/r600/egd_tables.py b/src/gallium/
> > drivers/r600/egd_tables.py
> > > > > > index d7b78c7fb1..4796456330 100644
> > > > > > --- a/src/gallium/drivers/r600/egd_tables.py
> > > > > > +++ b/src/gallium/drivers/r600/egd_tables.py
> > > > > > @@ -1,3 +1,4 @@
> > > > > > +from __future__ import print_function
> > > > > >
> > > > > > CopyRight = '''
> > > > > > /*
> > > > > > @@ -60,7 +61,7 @@ class StringTable:
> > > > > > """
> > > > > > fragments = [
> > > > > > '"%s\\0" /* %s */' % (
> > > > > > - te[0].encode('string_escape'),
> > > > > > + te[0],
> >
> >
> > Hi,
> >
> > I am not an expert in Python 3, but I have found the following answer
> > experimentally.
> >
> > I think the original version is semi-correct, but the encode() method returns a
> > bytes object which we need to convert to unicode. I think the following would
> > be fine:
> >
> > te[0].encode('unicode_escape').decode('utf-8')
>
> Looks good. And still the same output with python2 and python3. :-) If Dylan
> and Eric agree I'll send a revised patch.
Adding this should be fine for now. It makes me a little bit nervous because
we're acting on unicode strings in python 3 and byte strings in python 2,
however, It's fine for now.
Reviewed-by: Dylan Baker <dylan at pnwbakers.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180302/7724e57e/attachment.sig>
More information about the mesa-dev
mailing list