Re: Type of GtkEntry text property
- From: Manuel Quiñones <manuq laptop org>
- To: Martin Pitt <martin pitt ubuntu com>
- Cc: python-hackers-list gnome org
- Subject: Re: Type of GtkEntry text property
- Date: Tue, 19 Jun 2012 09:21:40 -0300
2012/6/19 Martin Pitt <martin pitt ubuntu com>
>
> Hello Manuel,
>
> Manuel Quiñones [2012-06-18 18:51 -0300]:
> > Hi, I was expecting that GtkEntry text property can handle Unicode
> > automatically, and return Unicode too, storing UTF-8 encoded gchar* in
> > the middle. But seems to not be the case:
>
> That's right for Python 3: all string arguments accept a "str" Python
> data type (what used to be "unicode" in Python 2) and also return str.
>
> But for Python 2, pygobject always takes and returns python 2's "str"
> data type, which is an UTF-8 bytestring. Methods generally accept
> "unicode" values as well and pygobject converts them to "str" on the
> fly, but not the return values.
>
> This will not ever change for Python 2, as this would be a dramatic
> API change which would instantly break pretty much every pygobject
> program out there. Fortunately Python 3 cleaned up the str/unicode
> mess of Python 2, so if/once you use Python 3 it should be all good.
>
> > >From IntrospectionPorting wiki page [1] this is one of the features of
> > Overrides "Another important case is automatic data type conversion,
> > most prominently to allow passing unicode objects to methods which
> > expect an UTF-8 encoded gchar*. This also actually helps to prevent
> > workarounds in application code and maintain a clean API".
>
> Adding overrides for automatically converting unicode input values is
> still fine. Changing return values is a no-go area (API break), please
> see https://bugzilla.gnome.org/show_bug.cgi?id=663610 for a very
> similar problem.
Thanks Martin for the clarification. Great this is handled properly in Py3K.
--
.. manuq ..
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]