2015-10-01 [wsgi/test] use bytes instead of str for POST body
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 11:43:33 +0200] rev 10748
[wsgi/test] use bytes instead of str for POST body
2015-10-01 [devtools] 'dict_values' object does not support indexing
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 11:43:01 +0200] rev 10747
[devtools] 'dict_values' object does not support indexing
2015-10-01 [multipart] decode form data before calling parse_qs in python 3
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 11:42:29 +0200] rev 10746
[multipart] decode form data before calling parse_qs in python 3 parse_qs eats and returns 'str' on both python versions.
2015-10-01 [multipart] unicode → six.text_type
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 11:41:20 +0200] rev 10745
[multipart] unicode → six.text_type
2015-10-01 [web] assert that CubicWebPublisher.handle_request returns bytes
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 10:06:58 +0200] rev 10744
[web] assert that CubicWebPublisher.handle_request returns bytes
2015-09-30 [py3k] fix validateform controller
Julien Cristau <julien.cristau@logilab.fr> [Wed, 30 Sep 2015 18:28:57 +0200] rev 10743
[py3k] fix validateform controller We need to return bytes not str.
2015-09-30 [web] unicode → six.text_type
Julien Cristau <julien.cristau@logilab.fr> [Wed, 30 Sep 2015 18:28:31 +0200] rev 10742
[web] unicode → six.text_type
2015-09-30 [multipart] make sure form keys are not bytes
Julien Cristau <julien.cristau@logilab.fr> [Wed, 30 Sep 2015 18:05:00 +0200] rev 10741
[multipart] make sure form keys are not bytes
2015-09-30 [web] unicode → six.text_type
Julien Cristau <julien.cristau@logilab.fr> [Wed, 30 Sep 2015 18:04:27 +0200] rev 10740
[web] unicode → six.text_type
2015-09-30 [wsgi] don't convert form values
Julien Cristau <julien.cristau@logilab.fr> [Wed, 30 Sep 2015 18:03:53 +0200] rev 10739
[wsgi] don't convert form values This is done earlier in multipart.py
2015-09-30 [server] import input from six.moves
Julien Cristau <julien.cristau@logilab.fr> [Wed, 30 Sep 2015 16:52:29 +0200] rev 10738
[server] import input from six.moves
2015-09-30 [server] don't convert user.login to bytes to generate sessionid
Julien Cristau <julien.cristau@logilab.fr> [Wed, 30 Sep 2015 16:50:06 +0200] rev 10737
[server] don't convert user.login to bytes to generate sessionid
2015-09-30 [cwctl] stop playing tricks with std{out,err} buffering
Julien Cristau <julien.cristau@logilab.fr> [Wed, 30 Sep 2015 16:14:29 +0200] rev 10736
[cwctl] stop playing tricks with std{out,err} buffering Python3 doesn't allow unbuffered text I/O, because it doesn't make sense.
2015-09-22 [py3k] CubicWebTC.app_handle_request returns bytes
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:42:40 +0200] rev 10735
[py3k] CubicWebTC.app_handle_request returns bytes
2015-09-22 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:37:31 +0200] rev 10734
[py3k] unicode → six.text_type
2015-10-12 [py3k] http headers should be ascii-only unicode objects
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 12 Oct 2015 21:06:45 +0200] rev 10733
[py3k] http headers should be ascii-only unicode objects
2015-10-13 [py3k] Clarify IDownloadable expected types
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 13 Oct 2015 18:20:42 +0200] rev 10732
[py3k] Clarify IDownloadable expected types
2015-09-22 [py3k] IDownloadable.download_data() returns bytes
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:31:44 +0200] rev 10731
[py3k] IDownloadable.download_data() returns bytes
2015-09-22 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:24:58 +0200] rev 10730
[py3k] unicode → six.text_type
2015-09-22 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:01:16 +0200] rev 10729
[py3k] unicode → six.text_type
2015-09-22 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:00:41 +0200] rev 10728
[py3k] unicode → six.text_type
2015-09-22 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 14:42:33 +0200] rev 10727
[py3k] unicode → six.text_type
2015-09-22 [py3k] PageInfo.source contains bytes
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 10:24:47 +0200] rev 10726
[py3k] PageInfo.source contains bytes
2015-09-21 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 21 Sep 2015 18:58:12 +0200] rev 10725
[py3k] unicode → six.text_type
2015-09-21 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 21 Sep 2015 18:35:38 +0200] rev 10724
[py3k] unicode → six.text_type
2015-09-21 [py3k] Don't encode URLs
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 21 Sep 2015 18:28:10 +0200] rev 10723
[py3k] Don't encode URLs Python 3's urllib works with unicode objects.
2015-09-21 [tests] Stop counting pickle bytes in ResultSet tests
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 21 Sep 2015 18:04:22 +0200] rev 10722
[tests] Stop counting pickle bytes in ResultSet tests Between python 2's pickle and cPickle implementations, the various protocol versions added in python 3, the length of the pickled string is completely unpredictable. Instead, do a simple round trip and test a few attributes.
2015-09-21 [tests] Port unittest_cwctl to py3k
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 21 Sep 2015 17:54:15 +0200] rev 10721
[tests] Port unittest_cwctl to py3k On python 2, sys.stdout takes bytes-like objects whereas python 3's takes unicode-like objects and handles the encoding on its own.
2015-09-21 [migration] NoneType is no longer comparable in py3k
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 21 Sep 2015 17:51:58 +0200] rev 10720
[migration] NoneType is no longer comparable in py3k
2015-10-13 Rename gettext to cwgettext, use stdlib gettext
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 13 Oct 2015 12:33:26 +0200] rev 10719
Rename gettext to cwgettext, use stdlib gettext cubicweb/gettext.py was a copy of Python 2.6's gettext.py with the context patch from bug https://bugs.python.org/issue2504 Instead of keeping that full copy, just inherit from gettext.GNUTranslations and add the context-related stuff.
2015-10-13 [py3k] MethodType no longer takes a class argument
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 13 Oct 2015 17:16:26 +0200] rev 10718
[py3k] MethodType no longer takes a class argument
2015-09-18 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 18:03:19 +0200] rev 10717
[py3k] unicode → six.text_type
2015-09-18 [py3k] im_self → __self__
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 18:02:20 +0200] rev 10716
[py3k] im_self → __self__
2015-09-18 [py3k] Don't sort Action objects
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 18:01:31 +0200] rev 10715
[py3k] Don't sort Action objects In python 3, arbitrary objects are no longer sortable.
2015-09-22 [py3k] use inspect module to get a function's arguments
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:25:25 +0200] rev 10714
[py3k] use inspect module to get a function's arguments
2015-09-18 [py3k] __unicode__ and __str__
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 17:58:30 +0200] rev 10713
[py3k] __unicode__ and __str__
2015-09-21 [test] call rql.parse with unicode objects
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 21 Sep 2015 19:00:26 +0200] rev 10712
[test] call rql.parse with unicode objects Allows to get same results from rqlst.as_string() in python 2 and 3
2015-09-18 [py3k] replace cmp with key in sorted()
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 14:23:22 +0200] rev 10711
[py3k] replace cmp with key in sorted() And stop sorting dicts in snippet_key()
2015-09-18 [tests] remove useless sort
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 12:35:10 +0200] rev 10710
[tests] remove useless sort Useless in python 2, actively harmful in python 3 where arbitrary objects are no longer sortable.
2015-09-18 [py3k] dict methods no longer return indexable objects
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 12:34:51 +0200] rev 10709
[py3k] dict methods no longer return indexable objects
2015-09-18 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 12:03:12 +0200] rev 10708
[py3k] unicode → six.text_type
2015-09-18 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 11:58:29 +0200] rev 10707
[py3k] unicode → six.text_type
2015-09-18 [server] Port BFSS to py3k
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 11:54:12 +0200] rev 10706
[server] Port BFSS to py3k The BFSS API changes in python 3: * 'defaultdir' MUST be a unicode object * 'fsencoding' MUST NOT be set In python 2, fsencoding handles both the encoding of file paths on the file system (utf-8 by default, but the system may actually be using something else) and the encoding of file paths that will be stored in the database. So in python 3, we wipe the slate clean: * rely on sys.getfilesystemencoding() to convert unicode objects to bytes * always encode paths to utf-8 for storage in the database Caveat emptor / here be dragons: * sys.getfilesystemencoding() depends on the current locale, which therefore MUST be set properly * when migrating an existing instance from py2 to py3, one MAY need to reencode file paths stored in the database
2015-09-17 [py3k] Binary.getvalue() returns bytes
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 17 Sep 2015 15:35:26 +0200] rev 10705
[py3k] Binary.getvalue() returns bytes
2015-09-22 [py3k] ensure Binary objects are initialized with bytes
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 14:47:04 +0200] rev 10704
[py3k] ensure Binary objects are initialized with bytes
2015-09-17 [py3k] __unicode__ and __str__
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 17 Sep 2015 12:02:40 +0200] rev 10703
[py3k] __unicode__ and __str__
2015-09-17 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 17 Sep 2015 11:07:36 +0200] rev 10702
[py3k] unicode → six.text_type
2015-09-18 [mail] port to py3k
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 14:50:44 +0200] rev 10701
[mail] port to py3k
2015-09-16 [web/views] port JSON views to py3k
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 18:43:19 +0200] rev 10700
[web/views] port JSON views to py3k
2015-09-16 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 18:43:02 +0200] rev 10699
[py3k] unicode → six.text_type
2015-09-16 [web/controller] req.form is supposed to contain unicode-data
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 18:41:12 +0200] rev 10698
[web/controller] req.form is supposed to contain unicode-data
2015-09-16 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 18:40:03 +0200] rev 10697
[py3k] unicode → six.text_type
2015-09-16 [py3k] unicode vs str vs bytes vs the world
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 17:22:41 +0200] rev 10696
[py3k] unicode vs str vs bytes vs the world
2015-09-16 [web/views] Port csvexport views to py3k
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 17:07:26 +0200] rev 10695
[web/views] Port csvexport views to py3k There are a few hoops to jump through since python 3's csv module _is_ unicode aware.
2015-09-22 [py3k] unicode vs str vs bytes vs the world
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 14:18:14 +0200] rev 10694
[py3k] unicode vs str vs bytes vs the world
2015-09-16 [web/request] don't convert request parameters if py3k
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 16:07:29 +0200] rev 10693
[web/request] don't convert request parameters if py3k
(0) -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 tip