Rémi Cardona <remi.cardona@logilab.fr> [Mon, 21 Dec 2015 09:55:14 +0100] rev 11015
[devtools] Fix database creation issues for CubicWebServerTC tests
To reproduce (with a purged repo):
* python web/test/unittest_web.py MiscOptionsTC
* python web/test/unittest_views_xmlrss.py
The core issue is that CubicWebServerConfig.default_base_url() is called
inside init_config(), which is called during the equivalent of
'db-create'. The '__default_empty_db__' will contain the wrong
'base_url' configuration, thus breaking URLs in the xmlrss tests.
Related to #9297611.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 21 Dec 2015 09:59:45 +0100] rev 11014
[devtools] Move attribute docstring to correct location
Rémi Cardona <remi.cardona@free.fr> [Sun, 20 Dec 2015 19:08:19 +0100] rev 11013
[web] Make tests pass if tal isn't available
Julien Cristau <julien.cristau@logilab.fr> [Mon, 21 Dec 2015 15:52:41 +0100] rev 11012
[py3k] fix cubicweb.mail.parse_message_id
base64.b64decode returns bytes. Fixes
sobjects/test/unittest_notification.py.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 21 Dec 2015 15:46:36 +0100] rev 11011
[test/py3k] fix test_recipients_finder
AssertionError: <zip object at 0x7f1dfb0230c8> != [('abcd@logilab.fr', 'en'), ('efgh@logilab.fr', 'en')]
Julien Cristau <julien.cristau@logilab.fr> [Mon, 21 Dec 2015 15:44:20 +0100] rev 11010
[dataimport] fix SQLGenObjectStore's add_info for python3
Julien Cristau <julien.cristau@logilab.fr> [Mon, 21 Dec 2015 15:43:49 +0100] rev 11009
[dataimport] py3k doesn't like + on dict_items objects
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 16 Jul 2014 10:48:47 +0200] rev 11008
[repository] remove unused check_session method and its test
Related to #1381328.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 15 Dec 2015 10:20:26 +0100] rev 11007
[migration/test] avoid test interdependency by removing fakecustomtype cube
There is still a failing test afterward but it doesn't seem related to
changes in this series.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Dec 2015 17:44:18 +0100] rev 11006
[migration/test] use numeric(precision, scale) instead of geometry
The latter requires the postgis extension which is overkill for this test.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Dec 2015 17:44:18 +0100] rev 11005
[server, hooks] allow callable in dbh.TYPE_MAPPING
This is necessary for cubes introducing new custom final types whose generated
sql may depend on some extra configuration, avoiding ugly-buggy hack as done
currently by the postgis cube.
Closes #7569998
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Dec 2015 17:44:17 +0100] rev 11004
[migration] consider extra_props in rdef created during attribute creation hook
else we may miss important data such as type parametrization (see
postgis.Geometry for instance).
Related to #7569998
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Dec 2015 17:44:17 +0100] rev 11003
[migration] only define variable if needed
Julien Cristau <julien.cristau@logilab.fr> [Thu, 17 Dec 2015 17:14:08 +0100] rev 11002
[migration] handle non-existing attribute type when adding an entity type
The final type needs to be added to the schema first.
Related to #7569998.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Dec 2015 17:44:17 +0100] rev 11001
[migration] handle the case where new final entity type is not yet in the schema
This may occur on new cube addition. Related to #7569998.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Dec 2015 17:44:16 +0100] rev 11000
[migration] config.add_cubes should ensure site_cubicweb of new cubes is called
Related to #7569998
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Dec 2015 17:44:16 +0100] rev 10999
[migration] test addition of a cube providing a custom final type
This does not work yet.
Related to #7569998
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 16 Sep 2015 10:56:36 +0200] rev 10998
[server] add test demonstrating cache update pb since cw > 3.21
Fixed by the previous changeset.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Dec 2015 16:58:45 +0100] rev 10997
Bring back the separate web-side entity cache
Prior to changeset 635cfac73d28 "[repoapi] fold ClientConnection into
Connection", we had two entity caches: one on the client/dbapi/web side,
and one on the server/repo side. This is a waste, but it is actually
needed as long as we have the magic _cw attribute on entities which must
sometimes be a request and sometimes a cnx. Removing the duplication
caused weird problems with entity._cw alternating between both types of
objects, which is unexpected by both the repo and the web sides.
We add an entity cache on ConnectionCubicWebRequestBase, separate from
the Connection's, and bring back the
_cw_update_attr_cache/dont-cache-attrs mechanism, to let the
server/edition code let caches know which attributes have been modified
Entity.as_rset can be cached again, as ResultSet no longer modifies the
entity when fetching it from a cache.
Contrary to the pre-3.21 code, _cw_update_attr_cache now handles web
requests and connections in the same way (otherwise the cache ends up
with wrong values if a hook modifies attributes), but dont-cache-attrs
is never set for (inlined) relations.
Closes #6863543
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Dec 2015 18:21:55 +0100] rev 10996
Backout "[entity,storage] remove hackish code from the bfss path
The merge of the repo-side and web-side entity caches doesn't actually work,
because entities have a _cw attribute which is sometimes a connection and
sometimes a web request, and whose nature changes not-really-predictably
whenever ResultSet.get_entity() is called and brings it out of the cache.
This reverts commit 59a79300f213.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 17 Dec 2015 15:34:05 +0100] rev 10995
merge with 3.21.5-2
Arthur Lutz <arthur.lutz@logilab.fr> [Thu, 10 Dec 2015 17:34:37 +0100] rev 10994
[doc] add documentation about drop_cube
Julien Cristau <julien.cristau@logilab.fr> [Thu, 17 Dec 2015 15:16:14 +0100] rev 10993
Added tag debian/3.21.5-2 for changeset 228b6d2777e4
Julien Cristau <julien.cristau@logilab.fr> [Thu, 17 Dec 2015 14:55:18 +0100] rev 10992
[pkg] don't install dataimport/test in both cubicweb-server and cubicweb-dev
Closes #9239572
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Dec 2015 11:23:48 +0100] rev 10991
merge with 3.21.5
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Dec 2015 19:05:41 +0100] rev 10990
Added tag 3.21.5, debian/3.21.5-1, centos/3.21.5-1 for changeset e0572a786e6b
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Dec 2015 18:15:08 +0100] rev 10989
[pkg] 3.21.5
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 03 Dec 2015 10:12:37 +0100] rev 10988
[js] Fix a ReferenceError in cubicweb.preferences.js
Rename function using proper English along the way.
Closes #8864731.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 14 Dec 2015 14:55:10 +0100] rev 10987
[dataimport] add tests for SQLGenObjectStore (closes #9177565)
Stolen from the massive import store, with the irrelevant bits removed.
Remove redundant tests from test_pgstore.py.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 14 Dec 2015 14:54:23 +0100] rev 10986
[dataimport] separate entities table from other metadata in SQLGenObjectStore
'entities' needs to be updated first as every other table has references
to its rows. Remove use of thread-local storage in the process.
related to #9177565.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 14 Dec 2015 14:53:02 +0100] rev 10985
[dataimport] remove threading support from SQLGenObjectStore
It's untested and does not actually work at the moment with nb_threads > 1.
related to #9177565.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Thu, 03 Dec 2015 14:55:10 +0100] rev 10984
[dataimport] prepare_insert_entity should not crash with SQLGenObjectStore
grafted from 1079d68130e1e780791ceb2050e8a8b7a910f48d (3.22)
related to #9177565.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Tue, 01 Dec 2015 13:39:17 +0100] rev 10983
[dataimport] Fix method signature
Since d4bd28d5fca8, _storage_handler expect 4 args.
grafted from b089858c49a2806b6ea8a7ee66773436701e947c (3.22)
related to #9177565.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Tue, 01 Dec 2015 13:38:21 +0100] rev 10982
[dataimport] add missing import 'eschema_eid'
grafted from e3ec46b5c710067a0cecca53cc593a0dd4bd927e (3.22)
related to #9177565
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Dec 2015 14:12:59 +0100] rev 10981
merge with 3.21.4
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Dec 2015 12:37:04 +0100] rev 10980
Added tag 3.21.4, debian/3.21.4-1, centos/3.21.4-1 for changeset d3b92d3a7db0
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Dec 2015 12:00:31 +0100] rev 10979
[pkg] 3.21.4
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Dec 2015 11:41:25 +0100] rev 10978
merge with 3.20.12
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Dec 2015 11:24:52 +0100] rev 10977
Added tag 3.20.12, debian/3.20.12-1, centos/3.20.12-1 for changeset 03e8fc9f79a6
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 11 Dec 2015 14:07:51 +0100] rev 10976
[tox] Ensure pytest gets run with virtualenv's python
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 09 Nov 2015 11:34:28 +0100] rev 10975
[tox] Use generating environments
Drop the "env" option, which is unknown, and set a generative_ "envlist". Then
use conditional dependencies based on factors_ to avoid repeating environment
sections. The only singular one is the "cubicweb" environment because of its
"commands".
At some point, it'd be nice to find a way to have python version prefixes
(py27-hooks or py34-web) for environment names but I could not find a way to extract
the package name from such names.
.. _generative: http://tox.readthedocs.org/en/latest/config.html#generative-envlist
.. _factors: http://tox.readthedocs.org/en/latest/config.html#factors-and-factor-conditional-settings
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Dec 2015 16:32:57 +0100] rev 10974
a bit of pep8
Rabah Meradi <rabah.meradi@logilab.fr> [Tue, 15 Dec 2015 08:55:58 +0100] rev 10973
[adapters] Use an adapter for serializing entities to a bare python structure
which may be used for e.g. JSON export or other and allow to have different
serializations for each entity types.
Closes #6378035
Julien Cristau <julien.cristau@logilab.fr> [Mon, 14 Dec 2015 16:29:19 +0100] rev 10972
[pkg] 3.20.12
Julien Cristau <julien.cristau@logilab.fr> [Mon, 14 Dec 2015 16:19:52 +0100] rev 10971
[dataimport] Fallback from COPY to executemany (closes #9135780)
If we can't build a suitable COPY command (e.g. because data has
unsupported type), use executemany instead. Regression introduced in
3.20.0.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 14 Dec 2015 12:11:44 +0100] rev 10970
[web/views] unlink svg temp file after we're done
Otherwise we fill up the tempdir. Closes #9133268.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 08 Dec 2015 16:28:20 +0100] rev 10969
Use cubicweb._
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 08 Dec 2015 16:27:05 +0100] rev 10968
[web/views] Controllers should always return bytes
Previous code breaks only on py3k.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 09 Dec 2015 15:51:20 +0100] rev 10967
[devtools] Fix 'newcube' on py3k
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 10 Dec 2015 17:57:55 +0100] rev 10966
[toolsutils] Small fixes to fill_templated_file()
* Use context managers to close _both_ files
* Use io.open to enforce text mode on both python 2 and 3
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 10 Dec 2015 18:00:41 +0100] rev 10965
[skeleton] Fix broken spec file template
Broken in commit 73c1c9cf6bda.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 10 Dec 2015 17:50:46 +0100] rev 10964
[devtools] Fix fd leak in tests
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Dec 2015 14:20:30 +0100] rev 10963
[devtools] stop using datetime.now() in cwctl newcube and i18ncube
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Dec 2015 14:06:43 +0100] rev 10962
[hooks] fix timestamp confusion in DataImportsCleanupStartupHook
CWDataImport.start_timestamp is inserted as datetime.utcnow(), in
server/sources/datafeed.py:DataFeedSourceinit_import_log.
Don't compare it to datetime.now().
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Dec 2015 13:58:03 +0100] rev 10961
[hooks] fix timestamp confusion in TransactionsCleanupStartupHook
transactions.tx_time is inserted as datetime.utcnow(), in
server/sources/native.py:NativeSQLSource.start_undoable_transaction.
Don't compare it to datetime.now().
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 10 Dec 2015 12:34:15 +0100] rev 10960
merge with 3.21.3
The change in unittest_serverctl.py is needed because of daef7ce08fea
(from 3.20.11) and 3914388b2d0f (from the 3.22 branch). Due to both
changes, CubicWebTC.config.repository no longer creates a new repository
(and thus, a new connection). Since both DBDumpCommand and
CubicWebTC.tearDown try to shutdown the repo, tearDown breaks apart.
The solution is to temporarily disable ServerConfiguration's config
cache. By forcing DBDumpCommand to get a new configuration object, it
then gets its own Repo object, allowing tearDown and DBDumpCommand to
work independently.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 09 Dec 2015 18:42:13 +0100] rev 10959
Added tag 3.21.3, debian/3.21.3-1, centos/3.21.3-1 for changeset 9edfe9429209
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 09 Dec 2015 18:29:59 +0100] rev 10958
[pkg] 3.21.3
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 09 Dec 2015 18:24:09 +0100] rev 10957
merge with 3.20.11
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 08 Sep 2015 09:05:31 +0200] rev 10956
update repo sources on update of source's entities .url attribute
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 09 Dec 2015 16:36:17 +0100] rev 10955
Added tag 3.20.11, debian/3.20.11-1, centos/3.20.11-1 for changeset c44930ac9579
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 09 Dec 2015 16:28:34 +0100] rev 10954
[pkg] 3.20.11
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 08 Dec 2015 17:59:54 +0100] rev 10953
[rest] a bit of pep8
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 08 Dec 2015 10:24:44 +0100] rev 10952
[rest] avoid field on two lines if name is above some size limit. Closes #8961835
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Dec 2015 16:15:00 +0100] rev 10951
action, view and service so managers can start source synchronization from the web ui
Closes #5474286
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 30 Nov 2015 14:54:30 +0100] rev 10950
[test] Skip ldap source tests if slapd is not available
Jean-Pierre Vergnes <jean-pierre.vergnes@logilab.fr> [Thu, 24 Sep 2015 09:43:36 +0200] rev 10949
[doc] Minor changes to the blog tutorial
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Mon, 19 Oct 2015 23:39:30 +0200] rev 10948
[skel] remove (what looks like) a spurious copy/paste
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 03 Dec 2015 16:19:03 +0100] rev 10947
Merge default heads published "concurrently"
Julien Cristau <julien.cristau@logilab.fr> [Thu, 26 Nov 2015 14:23:38 +0100] rev 10946
[qunit] move from CubicWebServerTC to CubicWebTestTC
This test now uses wsgi instead of twisted, and thus passes under python3.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 26 Nov 2015 14:37:06 +0100] rev 10945
[qunit] no need to enable CORS anymore
We serve everything needed for the tests through cubicweb.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 26 Nov 2015 14:34:47 +0100] rev 10944
[web/test] use GET, not POST, to load html files
POST comes with a body. There isn't one.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Thu, 03 Dec 2015 14:55:10 +0100] rev 10943
[dataimport] prepare_insert_entity should not crash with SQLGenObjectStore
Samuel Trégouët <samuel.tregouet@logilab.fr> [Tue, 01 Dec 2015 13:39:17 +0100] rev 10942
[dataimport] Fix method signature
Since d4bd28d5fca8, _storage_handler expect 4 args.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Tue, 01 Dec 2015 13:38:21 +0100] rev 10941
[dataimport] add missing import 'eschema_eid'
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 01 Dec 2015 09:09:48 +0100] rev 10940
[test] Remove unused import in unittest_qunit.py
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 30 Nov 2015 11:09:51 +0100] rev 10939
[dataimport] Format strings with % instead of .format()
For consistency with CubicWeb code base and to avoid Python 2.6
compatibility traps.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 30 Nov 2015 10:18:22 +0100] rev 10938
[test] Use datapath() in massive store tests
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 27 Nov 2015 12:26:17 +0100] rev 10937
[devtools] Disable anonymous login right before executing tests
CubicWebTC.init_config is called many times, especially when creating
the default database. This database is then reused by all tests in the
same directory.
The issue is that, if a test has 'anonymous_allowed' set to False, the
anonymous user won't be created by postcreate.py in the default
database. All other tests will fail miserably if they expected anonymous
login to work.
By actually disabling anonymous login after _init_repo, the default
database (and configuration) will be initialized with a working
anonymous user.
Closes #7485127.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 30 Nov 2015 15:53:35 +0100] rev 10936
[hooks] build EnsureSymmetricRelations{Add,Delete} dynamically
Instead of setting the __select__ attribute at registration time, which
confuses the filterable_selectors cache when running different tests (with
different schemas) in the same process, just make entirely new classes.
Closes #8785708.
Rémi Cardona <remi.cardona@logilab.fr>, Julien Cristau <julien.cristau@logilab.fr> [Thu, 26 Nov 2015 11:30:54 +0100] rev 10935
[qunit] stop dealing with filesystem paths
qunit tests need a few things served by cubicweb:
- qunit itself, which is now handled by CWDevtoolsStaticController (serving
files in cubicweb/devtools/data)
- standard cubicweb or cubes data files, handled by the DataController
- the tests themselves and their dependencies. These can live in
<apphome>/data or <apphome>/static and be served by one of the
STATIC_CONTROLLERS
This avoids having to guess in CWSoftwareRootStaticController where to
serve things from (some files may be installed, others are in the source
tree), and should hopefully make it possible to have these tests pass
when using tox, and to write qunit tests for cubes, outside of cubicweb
itself.
This requires modifying the tests to only declare URL paths instead of
filesystem paths, and moving support files below test/data/static.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 26 Nov 2015 11:23:52 +0100] rev 10934
[devtools] fix QUnitResultController
It needs to return something.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 25 Jun 2015 17:13:33 +0200] rev 10933
[utils] Drop now-unused SizeConstrainedList
It's last usage in CubicWeb got removed from changeset '[views] remove
breadcrumbs usage to retrieve last visited page'
Related to #5456850.
Rabah Meradi <rabah.meradi@logilab.fr> [Wed, 25 Nov 2015 18:31:48 +0100] rev 10932
[views] remove breadcrumbs usage to retrieve last visited page
Use JavaScript history.back to go to the last visited page. Rename
_return_to_lastpage to _redirect as it becomes misnamed.
Drop `test_redirect_default` test in `unittest_views_basecontrollers`
which essentially tested this (now removed) breadcrumbs "feature".
Closes #5456850.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 25 Nov 2015 16:22:42 +0100] rev 10931
[cwconfig] Explicitly close generated config file
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 25 Nov 2015 17:57:07 +0100] rev 10930
[doc] Add 3.21 release date
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Wed, 25 Nov 2015 10:19:52 +0100] rev 10929
[dataimport] fix db-namespace default value handling
In a fresh new instance, the "db-namespace" option is set as empty
by default in the "sources" file.
This seems correct but empty string is not a valid pg_schema and
actually means that we should use "public"
Julien Cristau <julien.cristau@logilab.fr> [Wed, 25 Nov 2015 11:30:36 +0100] rev 10928
[server] unbreak db-restore
Julien Cristau <julien.cristau@logilab.fr> [Tue, 24 Nov 2015 19:00:02 +0100] rev 10927
[doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr> [Tue, 24 Nov 2015 18:22:26 +0100] rev 10926
[rset] remove stray (commented-out) print
Left from debugging in af266f27c4d5
Julien Cristau <julien.cristau@logilab.fr> [Mon, 23 Nov 2015 19:18:08 +0100] rev 10925
Un-hide jshintrc
dot-files belong in ~, not anywhere else.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 25 Nov 2015 17:31:32 +0100] rev 10924
[views] Use 'pyvaltable' instead of hand-crafted <table> tags
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 24 Nov 2015 17:31:09 +0100] rev 10923
[web] Stop using config.repository()
Since commit 3914388b2d0f, this method creates a new Repository object
and thus reloads all the cubes, taking for ever.
Closes #8634417.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 24 Nov 2015 16:57:07 +0100] rev 10922
[web] Stop using webconfig.vc_config()
The main issue is that this creates an entirely new Repository object
(since commit 3914388b2d0f) and thus reloads all the cubes, taking for
ever.
Related to #8634417.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 24 Sep 2015 11:26:11 +0200] rev 10921
[migration] don't handle data deletion anymore on schema changes
In most cases when we want to drop some entity/relation type, we don't care
whether hooks are called on their deletion. There is even low chances that some
hooks still exists, based on an old version of the schema. Last but not least,
this is horribly inefficient.
So this should be clearly documented and handled by application's programmer if
desired.
This patch removes unnecessary deletion (because table or column will be later
dropped) and reimplements the case of partial deletion (only one relation
definition among several, hence the database structure isn't modified) using
sql.
Only one test regarding deletion of inlined relation def is added as other cases
seem to be covered by existing tests.
Closes #7023315
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 24 Nov 2015 16:01:43 +0100] rev 10920
[hooks/syncschema] drop unused import
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 24 Nov 2015 16:01:26 +0100] rev 10919
[hooks/syncschema] indentation fix
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 24 Nov 2015 16:00:57 +0100] rev 10918
[server/test] cosmetic whitespace fix
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 24 Nov 2015 16:00:06 +0100] rev 10917
[hooks/syncschema] don't set NOT NULL on inlined relation columns
The NOT NULL constraint was being added on inlined relation cardinality
change while it shouldn't. We don't want this, because this forbids to
add an entity without the relation set at once (it may be added later in
the transaction). This patch fix synchronization hook to stop doing
this.
Closes #6211101
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 24 Sep 2015 12:18:00 +0200] rev 10916
[hooks/syncschema] Turn DropColumnOp into a data operation
While writing a test for a migration issue where "NOT NULL" was added to
an inlined relation column, I ran into a case where the same column was
deleted twice, which of course results in an error. This is because the
"ecrit_par" relation used by the test is ambiguous. I've hence turned
the DropColumnOp into a data operation to ensure we'll delete the column
only once in such case.
Related to #6211101
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 24 Nov 2015 10:16:55 +0100] rev 10915
[server/sources] fix name error in eid_type_source_pre_131
i.e. the eid_type_source implementation used when some pre 3.13.1
database is detected. Regression from 5fbdbbe51867.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Jun 2015 10:06:00 +0200] rev 10914
[repository] deprecate the extid2eid based multi-sources API
This API is cumbersome and lead to obfuscated code because of the callback
mecanism implied when some entity has to be created.
Since we dropped the "true" multi-source, this mecanism is not needed anymore
and one should prefer to use the dataimport API inside its parser instead.
Notice the cwxml parser will trigger the deprecation warning, it should not be
used anymore in favor of ad-hoc parsers.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 23 Nov 2015 14:37:37 +0100] rev 10913
[ldapfeed] use source's extid2eid, the repo's one will be deprecated in a near future.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 24 Nov 2015 14:36:41 +0100] rev 10912
[ldapfeed / dataimport] port ldapfeed parser to dataimport API
This makes the code easier to understand and will allow to deprecate the old
multi-sources api, based on creation callback through repo.extid2eid.
Currently with this patch, modification dates are not checked, hence
entities will be systematically updated.
We run the import with no hooks, because RQLObjectStore can only add
entities to the system source.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 23 Nov 2015 14:34:13 +0100] rev 10911
[server/test] document expected packages to run ldap tests
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 23 Nov 2015 14:28:19 +0100] rev 10910
[ldapfeed] simplify ldap2attrs
* tdict argument is never given
* separate value retrieval from setting output (will ease a latter cset)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 23 Nov 2015 14:26:44 +0100] rev 10909
[ldapfeed] simplify deactivation of unencountered users
there is no need for the by_etype intermediary dictionnary since we only
consider CWUsers.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 24 Nov 2015 10:04:18 +0100] rev 10908
[server/test] display rset content on failure
Julien Cristau <julien.cristau@logilab.fr> [Tue, 24 Nov 2015 14:08:47 +0100] rev 10907
Remove trailing empty lines
Makes pep8 happier
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 24 Nov 2015 14:05:50 +0100] rev 10906
[ldapparser] simplify extid splitting
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 23 Nov 2015 14:23:08 +0100] rev 10905
[test/ldap] a bit of pep8
Samuel Trégouët <samuel.tregouet@logilab.fr> [Wed, 29 Jul 2015 10:05:37 +0200] rev 10904
[js] add configuration file for jshint (closes #5593987)
copied from https://gist.github.com/haschek/2595796
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 16 Oct 2015 11:58:10 +0200] rev 10903
spelling: *aly → *ally
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 16 Oct 2015 11:15:50 +0200] rev 10902
[web] Add a <label> around choices on CheckBox and Radio form widgets
Allows clicking directly on the text rather than only on the widget.
Closes #7672774.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 16 Oct 2015 10:36:34 +0200] rev 10901
[web] xml_escape CheckBox and Radio labels (closes #7672764)
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 20 Nov 2015 14:17:46 +0100] rev 10900
[test/tox] Enforce installation of modified yapps
580a6821713d is not enough for tox apparently...
The thing is that it will first install dependencies (the `deps` option from
tox.ini), actually pulling yapps from Logilab github but then, it will install
the project (that is, CubicWeb) from the sdist *along with its dependencies*,
which will pull yapps again and override the previously installed version for
some mysterious reason.
So add a `pip install` command in tox.ini, so that the modified yapps is the
last one installed.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 18 Sep 2015 11:12:03 +0200] rev 10899
[web] delete unused PropertySheet._sourcefile_mtime
Julien Cristau <julien.cristau@logilab.fr> [Fri, 18 Sep 2015 11:05:47 +0200] rev 10898
[etwist] remove no-longer-necessary uicache cleaning
It was done before we were actually up, which means it could be too
eager when combined with #6893185.
Closes #6893247.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 23 Nov 2015 17:58:10 +0100] rev 10897
[web] remove PropertySheet._cache
Instead of remembering that a css file has been processed, we re-process it at
every request. This prevents our cache getting out of date with the file
system. Closes #6893185
While we're at it, write the file atomically so that we don't risk serving
partial data.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 23 Nov 2015 17:47:46 +0100] rev 10896
[test] Add missing u''
Test actually works in py3k, but not in python 2... That has to be a
first!
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 13 Nov 2015 14:29:48 +0100] rev 10895
[data] Use correct syntax to unset CSS attributes (closes #8602446)
'default' is actually a recognized CSS cursor name (the regular
pointer). Using this value doesn't revert to whatever cursor DOM
elements have by default ('pointer' on links, 'text' on text, etc).
The proper way to unset a CSS attribute on DOM elements is to set it to
an empty string.
http://stackoverflow.com/questions/2027935/how-to-remove-css-property-using-javascript
Julien Cristau <julien.cristau@logilab.fr> [Wed, 22 Apr 2015 16:09:04 +0200] rev 10894
[server] install custom sql scripts before creating tables for the schema
A cube might need something like 'CREATE EXTENSION postgis' before
creating tables for its entities, to add new final types.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 20 Oct 2015 15:40:17 +0200] rev 10893
[hooks] update internal URL in doc string
Jérôme Roy <jerome.roy@logilab.fr> [Thu, 19 Nov 2015 12:29:42 +0100] rev 10892
[doc] Fix restructured tables + improve english a bit
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 06 Nov 2015 09:41:11 +0100] rev 10891
[debian] Install dataimport package
Closes #8173104.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 09 Sep 2015 18:52:56 +0200] rev 10890
[web/test] Remove use of old test API to silence warning
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 07 Sep 2015 18:42:47 +0200] rev 10889
[web/views] Fix sqlite unicode warning
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 03 Sep 2015 16:36:08 +0200] rev 10888
[devtools] Fix sqlite unicode warning
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 02 Sep 2015 12:08:31 +0200] rev 10887
[tests] Don't import QUnitTestCase into tests' global namespace
Unittest's test loader will try to execute QUnitTestCase's test_javascripts method. However this class is intended to be subclassed, not to be executed directly.
This change has the following consequences:
* slightly faster test execution
* almost all rtags warnings are gone
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 01 Sep 2015 17:13:16 +0200] rev 10886
[devtools/qunit] Fail quickly if firefox is not installed
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 24 Aug 2015 14:33:14 +0200] rev 10885
[devtools/qunit] Remove unused code
VerboseCalledProcessError is unused since 3905682ece11.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 23 Nov 2015 15:54:28 +0100] rev 10884
[py3k] import range using six.moves
Also, use create_entity instead of hand-crafting RQL queries.
Fixes regression introduced in commit 768d332de17b.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 17:17:53 +0100] rev 10883
[dataimport] remove size constraint handling
We do not want to silently truncate data. If that is wanted, the
application-specific importer should handle that itself.
[v2: Keep the get_size_constraints function so applications don't have
to reimplement it if they need to keep the truncate behaviour]
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 17:08:21 +0100] rev 10882
[dataimport] fix doc string to stop referring to the old API
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 17:00:50 +0100] rev 10881
[dataimport] drop duplicate init of MassiveObjectStore.sql
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 16:43:50 +0100] rev 10880
[dataimport] remove implicit commits from MassiveObjectStore
Let the user decide when to commit the transaction.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 16:21:29 +0100] rev 10879
[dataimport] drop extra indirection through MassiveObjectStore._initialized dict
We already have self.__dict__, no need to add another one for a static
set of keys.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 16:04:13 +0100] rev 10878
[dataimport] remove remaining references to dataio from MassiveObjectStore
In particular, rename metadata tables to live in the ^cw.* namespace.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 15:55:45 +0100] rev 10877
[dataimport] rename logger from dataio.massiveimport to dataimport.massive_store
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 15:52:26 +0100] rev 10876
[dataimport] remove commit_at_flush parameter from MassiveObjectStore
WARNING: the default value was True, but flush() now never commits.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 15:44:06 +0100] rev 10875
[dataimport] remove autoflush_metadata from MassiveObjectStore parameters
Hopefully not needed.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 15:41:27 +0100] rev 10874
[dataimport] remove uri_param_name from MassiveObjectStore parameters
It doesn't belong here.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 15:37:55 +0100] rev 10873
[dataimport] turn iid_maxsize into a class attribute
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 15:51:02 +0100] rev 10872
[dataimport] turn eids_seq_{start,range} into class attributes
Only the master-mode store will actually use eids_seq_start to reset the
eid sequence.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 15:29:07 +0100] rev 10871
[dataimport] remove replace_sep parameter from massive store
It is unused since changeset efbbf1e93a04 "[dataimport] Properly escape
strings sent to COPY FROM"
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 15:49:45 +0100] rev 10870
[dataimport] remove pg_schema parameter from massive store
It can be recovered from the system source's configuration.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Nov 2015 15:22:43 +0100] rev 10869
[dataimport] remove drop_index parameter from massive store
"drop_index=False" also implied not dropping any constraints, in
particular foreign keys, which meant any attempt to import entities
would fail, because we only add metadata (the entities table) after the
entity's insertion.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 04 Nov 2015 09:22:35 +0100] rev 10868
[dataimport/test] update call to ucsvreader
Silences warning: [3.20] 'separator' kwarg is deprecated, use 'delimiter' instead
Julien Cristau <julien.cristau@logilab.fr> [Wed, 04 Nov 2015 09:09:08 +0100] rev 10867
[dataimport] remove deprecated methods from massive store
This code is new in cubicweb, no reason for it to carry deprecated stuff
from the start.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 04 Nov 2015 09:11:10 +0100] rev 10866
[dataimport/test] use store.finish instead of deprecated store.cleanup
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 21 Oct 2015 16:58:30 +0200] rev 10865
[dataimport] drop no more used parameter on massive store
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 21 Oct 2015 16:34:52 +0200] rev 10864
[dataimport] methods that modify in-place shouldn't return value
Also mark those methods private and drop some useless comments in passing.
Related to #5414760
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 21 Oct 2015 16:32:11 +0200] rev 10863
[dataimport] implement new store API on massive store
and deprecate the old one.
Related to #5414760
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 21 Oct 2015 16:31:05 +0200] rev 10862
[dataimport] .finish method was missing from (NoHook)RQLObjectStore
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 21 Oct 2015 16:08:57 +0200] rev 10861
[massive store] identity_relation should not be considered, is_relation seems missing
The "identity_relation" table should not even exist.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 03 Nov 2015 18:29:15 +0100] rev 10860
[dataimport/test] use the right assert methods instead of assertTrue with a comparison
Julien Cristau <julien.cristau@logilab.fr> [Wed, 21 Oct 2015 20:20:36 +0200] rev 10859
[dataimport] import range from six.moves
Julien Cristau <julien.cristau@logilab.fr> [Wed, 21 Oct 2015 20:19:51 +0200] rev 10858
[dataimport/test] feed binary data to ucsvreader
Julien Cristau <julien.cristau@logilab.fr> [Wed, 21 Oct 2015 20:19:11 +0200] rev 10857
[dataimport/test] fix broken comparison
We want to compare two ints, not an int and a db row
Julien Cristau <julien.cristau@logilab.fr> [Wed, 21 Oct 2015 20:17:44 +0200] rev 10856
[dataimport] dict.iteritems() → dict.items()
Julien Cristau <julien.cristau@logilab.fr> [Wed, 21 Oct 2015 20:16:41 +0200] rev 10855
[dataimport] use next builtin instead of next method on iterators
Julien Cristau <julien.cristau@logilab.fr> [Wed, 21 Oct 2015 20:15:06 +0200] rev 10854
[dataimport] import StringIO from io
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 21 Oct 2015 16:10:47 +0200] rev 10853
[dataimport] backport massive store from dataio cube
Some tweaks have been made to work with 3.21 foreign key constraints.
Also test are not executed in our own pg cluster instead of polluting the system
one.
Closes #5414760
Julien Cristau <julien.cristau@logilab.fr> [Fri, 20 Nov 2015 18:17:08 +0100] rev 10852
[web] set proper Cache-Control header for static files
- set Cache-Control max-age to match Expires
- use the max_age method (defaults to 1 week) instead of hardcoded 6
months
Julien Cristau <julien.cristau@logilab.fr> [Fri, 20 Nov 2015 18:23:17 +0100] rev 10851
[web] use a redirect for /data/foo requests that don't use the instance md5 hash
The actual file contents can be cached for a long time. If the request
doesn't use the hash, that's wrong. Using a redirect lets keep the
caching for the actual file contents while not breaking requests missing
the hash.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 20 Nov 2015 12:37:15 +0100] rev 10850
[web] fix typo in doc string
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 19 Nov 2015 18:55:10 +0100] rev 10849
[web] stop adding an Expires header with all responses
As per RFC 1945 (HTTP 1.0):
If the date given is equal to or earlier than the value of the Date
header, the recipient must not cache the enclosed entity.
As per RFC 7234 (HTTP 1.1 Caching):
If a response includes a Cache-Control field with the max-age
directive (Section 5.2.2.8), a recipient MUST ignore the Expires
field.
Bottom line, the Expires header is now handled wherever the
Cache-Control is handled: inside cache managers.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 20 Nov 2015 17:13:03 +0100] rev 10848
[web] stop looking at a request's Cache-Control header
As per RFC 7234 (HTTP 1.1 Caching):
The "Cache-Control" header field is used to specify directives for
caches along the request/response chain.
CubicWeb is not a cache.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 19 Nov 2015 17:50:48 +0100] rev 10847
[fti] add cw_fti_index_rql_limit method
Improves on and deprecate cw_fti_index_rql_queries: execute the rql
directly, so that we don't need to compute the set of eids up-front, but
can just keep track of the last seen entity. Use the new method in
reindex_entities.
Keep calling cw_fti_index_rql_queries if it has been redefined (e.g in
cubes).
Related to #3621392.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 19 Nov 2015 16:48:55 +0100] rev 10846
[fti] backout 166c6f7b1be4
* breaks tests
* see next commit for a better solution
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 19 Nov 2015 17:16:19 +0100] rev 10845
[py3k] Fix unicode added in commit 2350424585f8
Julien Cristau <julien.cristau@logilab.fr> [Thu, 19 Nov 2015 15:56:22 +0100] rev 10844
[server/ldap] deal with unicode or str coming out of ldap
It seems we can get either, I've no idea in which exact circumstances,
so this should let us work with both.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 19 Nov 2015 14:36:54 +0100] rev 10843
[test] pull yapps from Logilab's github
Fixes a couple of failures, pull request is almost a year old
(https://github.com/smurfix/yapps/pull/2).
Julien Cristau <julien.cristau@logilab.fr> [Thu, 12 Nov 2015 15:20:45 +0100] rev 10842
[pkg] bump yams requirement to 0.41.1
Needed by changeset c9321aedfbf9.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 12 Nov 2015 10:53:50 +0100] rev 10841
[entities] import range from six.moves
Julien Cristau <julien.cristau@logilab.fr> [Thu, 12 Nov 2015 10:52:28 +0100] rev 10840
merge head published by accident
Christophe de Vienne <christophe@unlish.com> [Thu, 06 Mar 2014 15:55:33 +0100] rev 10839
[fti] Improve big table reindexation
* Slice the reindexing in batches of 1000 entities.
* Make the output more verbose.
Closes #3621392
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 09 Nov 2015 11:11:31 +0100] rev 10838
[tox] Reference requirements.txt for hooks environment
The file existed but was not referenced.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 25 Mar 2015 14:20:56 +0100] rev 10837
[devtools/testlib] Remove assertions about direct usage of CubicWebTC/AutomaticWebTest
The point is to be able to use a test runner other than pytest (e.g. nose2,
nosetests or py.test) to run CubicWeb test suite. The issue is that most other
test loaders inspects members of all base classes of test case classes to
determine test methods and it hits this `config` property (actually executing
it), which breaks the assertion. So just return None instead of failing.
Closes #7817147.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 06 Nov 2015 17:02:09 +0100] rev 10836
Add ldap3 to server test requirements
Julien Cristau <julien.cristau@logilab.fr> [Fri, 06 Nov 2015 16:44:23 +0100] rev 10835
[pkg] bump version number so tox won't use cw from pypi
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jul 2015 10:54:24 +0200] rev 10834
[schema] add CubicWebRelationDefinitionSchema
Stop monkeypatching yams, inherit from RelationDefinitionSchema instead.
Denis Laxalde <denis.laxalde@logilab.fr>, Rémi Cardona <remi.cardona@logilab.fr> [Wed, 22 Apr 2015 11:39:13 +0200] rev 10833
[schema] Let RQLConstraint inherit from BaseRQLConstraint instead of RQLVocabularyConstraint
There is apparently no reason for RQLConstraint to inherit from
RQLVocabularyConstraint as it gets its `repo_check` method from
`RepoEnforcedRQLConstraintMixIn` and RQLVocabularyConstraint (which inherits
from BaseRQLConstraint) actually only overrides that method. So simplify
inheritance by removing a useless level of indirection.
Adjust cw_unrelated_rql accordingly, where it was that RQLConstraint inherited
from RQLVocabularyConstraint.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 08 Sep 2015 06:48:48 +0200] rev 10832
[server] unormalize source logger's name to avoid encoding errors
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 22 Sep 2015 14:20:53 +0200] rev 10831
[entities] parameters should be given to fire_transition, else they are simply ignored
Julien Cristau <julien.cristau@logilab.fr> [Mon, 12 Oct 2015 09:53:51 +0200] rev 10830
[entity] set _cw_adapters_cache in __init__ rather than on first use
Jérôme Roy <jerome.roy@logilab.fr> [Mon, 19 Oct 2015 23:23:46 +0000] rev 10829
fix typos and indentation in docstrings/docs
Julien Cristau <julien.cristau@logilab.fr> [Wed, 16 Sep 2015 11:31:36 +0200] rev 10828
session.id → session.sessionid
Arthur Lutz <arthur.lutz@logilab.fr> [Wed, 04 Nov 2015 12:04:33 +0100] rev 10827
[test] test page_size problem (related to #8123231)
Julien Cristau <julien.cristau@logilab.fr> [Wed, 04 Nov 2015 11:26:22 +0100] rev 10826
[predicates] guard against non-integer page_size form parameter
Closes #8123231
Julien Cristau <julien.cristau@logilab.fr> [Tue, 03 Nov 2015 15:56:39 +0100] rev 10825
[server/test] add test for db-dump command
Julien Cristau <julien.cristau@logilab.fr> [Tue, 03 Nov 2015 15:55:35 +0100] rev 10824
[server] fix db-dump with sqlite
'gzip -c dbname > backupfile' needs to go through the shell.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 03 Nov 2015 15:54:46 +0100] rev 10823
[serverctl] fix db-dump
Since changeset af47954c1015 we would die with:
AttributeError: 'ServerMigrationHelper' object has no attribute 'repo'
Julien Cristau <julien.cristau@logilab.fr> [Tue, 03 Nov 2015 15:52:17 +0100] rev 10822
[server/test] sorting vs dict vs python3
Julien Cristau <julien.cristau@logilab.fr> [Mon, 19 Oct 2015 18:08:34 +0200] rev 10821
[devtools] more sorted() vs dict vs python3
Julien Cristau <julien.cristau@logilab.fr> [Tue, 03 Nov 2015 12:25:14 +0100] rev 10820
[web/application] return bytes from redirect_handler and validation_error_handler
Julien Cristau <julien.cristau@logilab.fr> [Mon, 19 Oct 2015 17:54:26 +0200] rev 10819
[devtools] fix ResourceWarning: unclosed file tmpdb-__default_empty_db__.config
Julien Cristau <julien.cristau@logilab.fr> [Mon, 19 Oct 2015 17:53:51 +0200] rev 10818
[serverconfig] fix ResourceWarning: unclosed file bootstrap_cubes
Julien Cristau <julien.cristau@logilab.fr> [Mon, 19 Oct 2015 14:29:53 +0200] rev 10817
Use cubicweb._
Julien Cristau <julien.cristau@logilab.fr> [Mon, 19 Oct 2015 14:28:30 +0200] rev 10816
[syncschema] hashlib.md5() wants bytes
Julien Cristau <julien.cristau@logilab.fr> [Mon, 19 Oct 2015 14:27:04 +0200] rev 10815
[server/test] use next() builtin instead of next() method
Julien Cristau <julien.cristau@logilab.fr> [Mon, 19 Oct 2015 14:26:32 +0200] rev 10814
[server/test] dict.iterkeys
Julien Cristau <julien.cristau@logilab.fr> [Tue, 03 Nov 2015 18:10:58 +0100] rev 10813
[syncschema] don't arbitrarily remove constraints from the in-memory schema
For some constraint types, it may make sense to have several constraints
of that type simultaneously. In such a case, removing one of them from
the in-memory schema is wrong.
Closes #7446353
Julien Cristau <julien.cristau@logilab.fr> [Tue, 03 Nov 2015 18:03:21 +0100] rev 10812
[server/test] don't leak timeout from one test class to the next
Reset SQL_CONNECT_HOOKS after we're done with this test class so the
next one doesn't inherit a timeout it doesn't want.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 16 Oct 2015 12:22:48 +0200] rev 10811
[server/test] CWAttribute.extra_props is Bytes
Julien Cristau <julien.cristau@logilab.fr> [Fri, 16 Oct 2015 17:12:40 +0200] rev 10810
[dataimport] give unicode objects to psycopg2 copy_from
Julien Cristau <julien.cristau@logilab.fr> [Fri, 16 Oct 2015 17:06:12 +0200] rev 10809
[dataimport] extid must be a bytes object
Julien Cristau <julien.cristau@logilab.fr> [Fri, 16 Oct 2015 17:04:30 +0200] rev 10808
[dataimport] import StringIO from io
Julien Cristau <julien.cristau@logilab.fr> [Fri, 16 Oct 2015 17:06:28 +0200] rev 10807
[dataimport] fix ucsvreader for python3
The csv module in python3 wants str, so use a StreamReader to feed
csv.reader and don't decode the output
Julien Cristau <julien.cristau@logilab.fr> [Wed, 14 Oct 2015 16:30:45 +0200] rev 10806
[server/test] import StringIO from io on python3
Don't change the import for python2, as we print a mix of unicode and
str.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 14 Oct 2015 16:18:25 +0200] rev 10805
[server/datafeed] drop URLLibResponseAdapter.info
I don't know where it's used
Julien Cristau <julien.cristau@logilab.fr> [Mon, 19 Oct 2015 14:29:06 +0200] rev 10804
[devtools] pass a key to sort() method
python3 dicts are not comparable
Julien Cristau <julien.cristau@logilab.fr> [Wed, 21 Oct 2015 17:21:18 +0200] rev 10803
[postcreate] properly set is_instance_of for bootstrap entities
Entities created before CWEType itself need the is/is_instance_of
relations created later. We were actually only inserting "is".
Closes #7656606.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 28 Oct 2015 17:39:30 +0000] rev 10802
[migration] re-try without print_function when compiling a script fails
As part of the python3 porting we added the __future__.print_function import to
cubicweb.migration. That started affecting all migration scripts it runs,
which may not be prepared. So if compiling a script results in SyntaxError,
try again without the print_function flag.
Closes #7935030
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 23 Sep 2015 15:32:17 +0200] rev 10801
[test] do not overwrite user's CW_CUBES_PATH in unittest_migration
Currently when you rely on your CW_CUBES_PATH environment variable to
locate cubes necessary for cubicweb's tests, the migration test crashes
because it overrides the env var.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 03 Nov 2015 16:00:34 +0100] rev 10800
[server/test] dict.itervalues() → iter(dict.values())
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 16 Sep 2015 16:04:17 +0200] rev 10799
make sync_schema_props_perms(<computed rtype>) work as expected
It currently ends up with an ExecutionError while we want to synchronize
permissions. This makes 3.21.1 migration of any application using computed
relation crashing.
Also, remove pre 3.6 compat code in hooks that prevent living schema update on
computed relation's permission changes.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 08 Oct 2015 13:51:54 +0200] rev 10798
[web/http_headers] use classmethod decorator
Julien Cristau <julien.cristau@logilab.fr> [Thu, 08 Oct 2015 13:45:00 +0200] rev 10797
[schema] use classmethod decorator
Julien Cristau <julien.cristau@logilab.fr> [Fri, 16 Oct 2015 16:44:36 +0200] rev 10796
[devtools] delete postgresql socket directory after killing the server
... or when failing to start it.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 27 Jul 2015 10:13:25 +0200] rev 10795
[skel] stop deleting cubes egg-info
It doesn't hurt and provides some metadata.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 06 Oct 2015 15:06:45 +0200] rev 10794
[dataimport] Update doc to reflect new API
relate() looks deprecated.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 26 Oct 2015 15:22:09 +0100] rev 10793
[server] fix generate_source_config regression on python2
lgc outputs "str" objects on python2 and python3, so we can't just use
io.StringIO (which expects unicode objects).
Fixes: c36cda9074c5
Christophe de Vienne <christophe@unlish.com> [Thu, 30 Jul 2015 11:11:12 +0200] rev 10792
[tests] Fix config.repository() in tests
The config.repository was overriden too late.
Closes #5778294
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 14 Oct 2015 15:49:03 +0200] rev 10791
[schema] RQL queries are always unicode objects in python 3
fixes commit 42c5bd7286b7.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 13 Oct 2015 16:12:37 +0200] rev 10790
[server/test] use relative import
Fixes py3k breakage
Julien Cristau <julien.cristau@logilab.fr> [Tue, 13 Oct 2015 11:34:37 +0200] rev 10789
[server/schemaserial] fix extra_props on py3k
json.dumps returns unicode, and json.load eats unicode, so add explicit
encoding/decoding.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 13 Oct 2015 11:30:48 +0200] rev 10788
[server/test] unicode → six.text_type
Julien Cristau <julien.cristau@logilab.fr> [Mon, 12 Oct 2015 21:49:18 +0200] rev 10787
[web] fix Field.__str__ on py3k
Julien Cristau <julien.cristau@logilab.fr> [Mon, 12 Oct 2015 21:48:50 +0200] rev 10786
[web] unicode → six.text_type
Julien Cristau <julien.cristau@logilab.fr> [Mon, 12 Oct 2015 20:43:50 +0200] rev 10785
[web/test] CubicWebTC.view returns bytes
Julien Cristau <julien.cristau@logilab.fr> [Mon, 12 Oct 2015 18:43:41 +0200] rev 10784
[uilib] fix traceback on python3
Julien Cristau <julien.cristau@logilab.fr> [Mon, 12 Oct 2015 18:43:05 +0200] rev 10783
[web] integer division
Julien Cristau <julien.cristau@logilab.fr> [Mon, 12 Oct 2015 18:42:38 +0200] rev 10782
[web/test] Binary eats bytes
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 Oct 2015 11:19:37 +0200] rev 10781
[devtools] make httptest module importable under py3k
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 Oct 2015 11:16:27 +0200] rev 10780
[web/test] CubicWebPublisher.handle_request returns bytes
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 Oct 2015 11:15:56 +0200] rev 10779
[web] base64 works on bytes not str (py3k)
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 Oct 2015 11:14:15 +0200] rev 10778
[web] accept unicode in parsed Authorization header
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 Oct 2015 11:07:22 +0200] rev 10777
[web] CubicWebPublisher.ajax_error_handler must return bytes
Julien Cristau <julien.cristau@logilab.fr> [Mon, 05 Oct 2015 17:57:03 +0200] rev 10776
[py3k] fix i18n
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 Oct 2015 11:44:51 +0200] rev 10775
Fix md5crypt and crypt_password test for python3
Make sure to always work with bytes for hashing.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 05 Oct 2015 17:08:38 +0200] rev 10774
[server/test] use bytes for extid
Julien Cristau <julien.cristau@logilab.fr> [Mon, 05 Oct 2015 16:59:18 +0200] rev 10773
[devtools/test] firstnames.txt is in latin1
Julien Cristau <julien.cristau@logilab.fr> [Mon, 05 Oct 2015 16:54:12 +0200] rev 10772
[web/test] unicode → cubicweb._
Julien Cristau <julien.cristau@logilab.fr> [Mon, 05 Oct 2015 16:52:26 +0200] rev 10771
[web/formwidgets] fix for py3k
no idea why we encode that key...
Julien Cristau <julien.cristau@logilab.fr> [Mon, 05 Oct 2015 16:47:55 +0200] rev 10770
[sobjects] unicode → six.text_type
Julien Cristau <julien.cristau@logilab.fr> [Mon, 05 Oct 2015 16:28:07 +0200] rev 10769
[server] fix unittest_security for py3k
- use source.binary_to_str instead of str(), helps when the backend
returns memoryviews
- fixup str vs bytes
Julien Cristau <julien.cristau@logilab.fr> [Mon, 05 Oct 2015 15:49:17 +0200] rev 10768
[py3k] make ldapfeed tests pass
Julien Cristau <julien.cristau@logilab.fr> [Mon, 05 Oct 2015 15:48:19 +0200] rev 10767
[server] import filter from six.moves
Julien Cristau <julien.cristau@logilab.fr> [Mon, 05 Oct 2015 14:51:24 +0200] rev 10766
[ldapfeed] port to ldap3
python-ldap has no python3 support.
XXX I only checked that unittest_ldapfeed passes.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 02 Oct 2015 14:13:26 +0200] rev 10765
[server/test] str vs bytes
Julien Cristau <julien.cristau@logilab.fr> [Fri, 02 Oct 2015 10:08:00 +0200] rev 10764
[server/test] list() around map and zip
Julien Cristau <julien.cristau@logilab.fr> [Fri, 02 Oct 2015 10:07:32 +0200] rev 10763
[server/test] to fold, unicode → six.text_type
Julien Cristau <julien.cristau@logilab.fr> [Fri, 02 Oct 2015 10:06:42 +0200] rev 10762
[server/test] delete test that doesn't make sense on python3
XXX if PY2?
Julien Cristau <julien.cristau@logilab.fr> [Fri, 02 Oct 2015 10:06:05 +0200] rev 10761
[server/test] unicode → six.text_type
Julien Cristau <julien.cristau@logilab.fr> [Fri, 02 Oct 2015 10:04:35 +0200] rev 10760
[server] unicode → six.text_type
Julien Cristau <julien.cristau@logilab.fr> [Fri, 02 Oct 2015 10:04:12 +0200] rev 10759
[py3k] fix building rset description for INSERT queries
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 12:34:49 +0200] rev 10758
[datafeed] use explicit encode/decode instead of casting to str
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 01 Oct 2015 12:33:58 +0200] rev 10757
[py3k] io.BytesIO
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 12:32:27 +0200] rev 10756
[py3k] get urllib foo from six.moves
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 12:15:14 +0200] rev 10755
[devtools] CubicWebTC._check_html may have to deal with unicode or bytes
If called with template=None, CubicWebTC.view will not go through
main-template, and return the unicode data from the view directly
instead of encoded data.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 12:02:02 +0200] rev 10754
[ext/test] fix test relying on repr(text)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 12:01:28 +0200] rev 10753
[req] fix url_parse_qsl on py3
should be folded with previous conversion
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 11:57:40 +0200] rev 10752
[server/session] unicode → six.text_type
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 11:57:22 +0200] rev 10751
[web/test] str vs bytes
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 11:50:42 +0200] rev 10750
[web/ajax] fix AjaxController on python3
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 11:50:09 +0200] rev 10749
[web/test] str → bytes
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
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 11:43:01 +0200] rev 10747
[devtools] 'dict_values' object does not support indexing
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.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 11:41:20 +0200] rev 10745
[multipart] unicode → six.text_type
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 10:06:58 +0200] rev 10744
[web] assert that CubicWebPublisher.handle_request returns bytes
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.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 30 Sep 2015 18:28:31 +0200] rev 10742
[web] unicode → six.text_type
Julien Cristau <julien.cristau@logilab.fr> [Wed, 30 Sep 2015 18:05:00 +0200] rev 10741
[multipart] make sure form keys are not bytes
Julien Cristau <julien.cristau@logilab.fr> [Wed, 30 Sep 2015 18:04:27 +0200] rev 10740
[web] unicode → six.text_type
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
Julien Cristau <julien.cristau@logilab.fr> [Wed, 30 Sep 2015 16:52:29 +0200] rev 10738
[server] import input from six.moves
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
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.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:42:40 +0200] rev 10735
[py3k] CubicWebTC.app_handle_request returns bytes
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:37:31 +0200] rev 10734
[py3k] unicode → six.text_type
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
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 13 Oct 2015 18:20:42 +0200] rev 10732
[py3k] Clarify IDownloadable expected types
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:31:44 +0200] rev 10731
[py3k] IDownloadable.download_data() returns bytes
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:24:58 +0200] rev 10730
[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
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:00:41 +0200] rev 10728
[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
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 10:24:47 +0200] rev 10726
[py3k] PageInfo.source contains bytes
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 21 Sep 2015 18:58:12 +0200] rev 10725
[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
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.
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.
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.
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
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.
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
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 18:03:19 +0200] rev 10717
[py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 18:02:20 +0200] rev 10716
[py3k] im_self → __self__
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.
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
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 17:58:30 +0200] rev 10713
[py3k] __unicode__ and __str__
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
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()
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.
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
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 12:03:12 +0200] rev 10708
[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
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
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 17 Sep 2015 15:35:26 +0200] rev 10705
[py3k] Binary.getvalue() returns 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
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 17 Sep 2015 12:02:40 +0200] rev 10703
[py3k] __unicode__ and __str__
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 17 Sep 2015 11:07:36 +0200] rev 10702
[py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 14:50:44 +0200] rev 10701
[mail] port 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
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 18:43:02 +0200] rev 10699
[py3k] unicode → six.text_type
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
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 18:40:03 +0200] rev 10697
[py3k] unicode → six.text_type
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
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.
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
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
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 16:02:04 +0200] rev 10692
[py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 15:26:56 +0200] rev 10691
[py3k] __getslice__ → __getitem__ with slice support
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 15:50:42 +0200] rev 10690
[py3k] __nonzero__ → __bool__
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 15:17:42 +0200] rev 10689
[py3k] unicode vs str vs bytes vs the world
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 13:57:21 +0200] rev 10688
[py3k] use six.add_metaclass
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 11:28:07 +0200] rev 10687
[py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 05 Oct 2015 17:10:36 +0200] rev 10686
[py3k] add list() around dict methods
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 18:43:19 +0200] rev 10685
[py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 18:39:09 +0200] rev 10684
[py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 18:30:05 +0200] rev 10683
[py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 18:23:35 +0200] rev 10682
[py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 18:22:41 +0200] rev 10681
[server/utils] crypt_password should always return bytes
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 18:21:33 +0200] rev 10680
[py3k] str → six.binary_type
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 17:32:30 +0200] rev 10679
[py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 17:31:07 +0200] rev 10678
[server/utils] convert to py3k using six
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 17:28:05 +0200] rev 10677
[py3k] six.PY2
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 17:25:50 +0200] rev 10676
[py3k] use text/binary types from six
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 17:04:04 +0200] rev 10675
[py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 15:28:20 +0200] rev 10674
[py3k] bytes vs str
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 15:08:04 +0200] rev 10673
[py3k] io.BytesIO
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 17:28:06 +0200] rev 10672
[py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 13 Oct 2015 16:57:09 +0200] rev 10671
[py3k] bytes required for hashlib.{md5,sha1}()
Julien Cristau <julien.cristau@logilab.fr> [Thu, 01 Oct 2015 11:40:23 +0200] rev 10670
[wsgi/test] add __main__ section
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 14:29:53 +0200] rev 10669
[py3k] use next builtin instead of next method
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 17:10:58 +0200] rev 10668
[web/views] use next builtin instead of next method
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 16:09:55 +0200] rev 10667
[py3k] declare meta classes using six.add_metaclass
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 11 Sep 2015 18:05:38 +0200] rev 10666
[py3k] replace '_ = unicode' in global scope (closes #7589459)
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 11 Sep 2015 18:01:36 +0200] rev 10665
[py3k] introduce cubicweb._ (related to #7589459)
The end goal is to stop relying on '_' being in the builtin scope. In
the mean time, deprecate the builtin '_' so that consumers are warned.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 18:04:05 +0200] rev 10664
[py3k] dict.iterkeys → dict
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 13 Oct 2015 15:09:22 +0200] rev 10663
[py3k] dict.itervalues → dict.values
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 16:15:03 +0200] rev 10662
[py3k] dict.iteritems → dict.items
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Sep 2015 18:04:57 +0200] rev 10661
implement __ne__ whenever we implement __eq__
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Sep 2015 17:15:03 +0200] rev 10660
[test] use unicode for rql queries (7/7)
Closes #6694446
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Sep 2015 16:28:55 +0200] rev 10659
[test] use unicode for rql queries (6/7)
Related to #6694446
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Sep 2015 16:25:26 +0200] rev 10658
[test] use unicode for rql queries (5/7)
Related to #6694446
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Sep 2015 16:25:16 +0200] rev 10657
[test] use unicode for rql queries (4/7)
Related to #6694446
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Sep 2015 16:24:57 +0200] rev 10656
[test] use unicode for rql queries (3/7)
Related to #6694446
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Sep 2015 16:24:42 +0200] rev 10655
[test] use unicode for rql queries (2/7)
Related to #6694446
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Sep 2015 09:37:14 +0200] rev 10654
[test] use unicode for rql queries (1/7)
Related to #6694446
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Sep 2015 16:26:56 +0200] rev 10653
[schema] improve normalization of RQLExpressions
Parse and print back the expression instead of manipulating the string.
Among other benefits, it means we don't mangle embedded string constants
that contain commas or multiple spaces.
Closes #6694426
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Sep 2015 13:43:57 +0200] rev 10652
[server/rql2sql] use VariableRef.is_equivalent explicitly instead of relying on __eq__
What we want to compare is the variable referenced by the VariableRef,
we should make that explicit.
Closes #6694406
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 12 Oct 2015 10:53:35 +0200] rev 10651
merge with 3.21.2
David Douard <david.douard@logilab.fr> [Fri, 02 Oct 2015 17:28:33 +0200] rev 10650
[statsd] fix the statsd logger (closes #7558147)
socket.inet_pton's second argument is the ip, not a couple (ip, port)
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 12 Oct 2015 09:19:07 +0200] rev 10649
Added tag 3.21.2, debian/3.21.2-1, centos/3.21.2-1 for changeset a5428e1ab364
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 09 Oct 2015 18:01:46 +0200] rev 10648
[pkg] 3.21.2
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 09 Oct 2015 18:03:40 +0200] rev 10647
[pkg] Remove leftover dep on pyro (closes #7479155)
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 09 Oct 2015 17:52:14 +0200] rev 10646
merge with 3.20.10
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 29 Sep 2015 12:09:04 +0200] rev 10645
[migration] fix change_attribute_type to update the live schema
Closes #7170830
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jul 2015 09:57:08 +0200] rev 10644
[devtools] add has_cache for postgres (closes #5739624)
devtools stores info about existing dbs in the db handler, but in the
case of postgresql that doesn't take into account the path to the
cluster's datadir. Which means if we run two test modules (in the same
test run), we'll create a "__default_empty_db__" for the first one,
cache its existence, and then when moving on to the other module,
believe the template already exists (but since the datadir depends on
the test module's path, it does not). This patch is a bit of a kludge,
and it would be better to make the cache key include enough data to not
need this, but I'm not sure how to do that.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 22 Sep 2015 14:20:02 +0200] rev 10643
fix bad-caching of datetime with tz info at sql generation time
There is a special handling for datetime with tzinfo, where value was stored in
the query cache. The implementation of merge_args was simply overwriting
parameters of the query with those in the query cache, expecting no collision.
To fix this:
* handle replacement of tzinfo in merge_args, not at sql generation time
* add an assertion to ensure we've actually no collision
Closes #6978316
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 09 Oct 2015 09:40:08 +0200] rev 10642
Added tag 3.20.10, debian/3.20.10-1, centos/3.20.10-1 for changeset 8f82e9523962
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 08 Oct 2015 18:47:57 +0200] rev 10641
[pkg] 3.20.10
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 08 Oct 2015 18:38:16 +0200] rev 10640
merge with 3.19.13
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 08 Oct 2015 18:24:09 +0200] rev 10639
[devtools] Fix CubicWebTC.temporary_permissions
If the context manager is exited via an exception, the original
permissions should be restored.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 08 Oct 2015 18:09:10 +0200] rev 10638
[devtools] Use TestCase.assertGreater
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Sep 2015 08:32:49 +0200] rev 10637
[autoform] fix appearance of link to add inlined creation form
On entity creation, if there are some local permissions on the relation,
we have no way of checking them since neither the subject nor the object
of the relation exists yet. In such a case, we should add the link by
default, for consistency (see other places where we use
`may_have_permission`).
Closes #6711900
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 08 Oct 2015 11:47:15 +0200] rev 10636
[predicates] Simplify specified_etype_implements
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 08 Oct 2015 12:13:35 +0200] rev 10635
[web/views] Fix `has_editable_relation` predicate wrt inlined relations
Prevents the "modify" action from being shown when there is nothing to
edit.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 02 Sep 2015 15:31:18 +0200] rev 10634
[web/views] avoid propagation of NoSelectableObject in some case of inlined relations / permissions
When selecting an inlined creation form, we should catch the
NoSelectable exception that will be raised if the user cannot add
entities of the target type (this is not and cannot be verified earlier)
or if some other custom selector prevents the form from being selected.
Closes #6510921
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 07 Oct 2015 17:27:35 +0200] rev 10633
[server/test] bit of PEP8
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 25 Aug 2015 11:11:34 +0200] rev 10632
[migration] don't attempt to carry over values when renaming a computed relation
Without the fix in migractions.py, the introduced test crashes with an
operational error because of an attempt to write to a non-existing
relation table (computed relations are not materialized).
Closes #6304946
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 21 Aug 2015 11:01:08 +0200] rev 10631
consider .do_fti flag in index_entity method
as this method may be used from outsite the class (eg in UpdateFTIHook), this is
the proper way to consider it anyway.
Closes #6206636
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 06 Oct 2015 18:59:01 +0200] rev 10630
Added tag 3.19.13, debian/3.19.13-1, centos/3.19.13-1 for changeset f933a38d7ab5
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 06 Oct 2015 18:35:14 +0200] rev 10629
[pkg] 3.19.13
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Sep 2015 14:41:28 +0200] rev 10628
[migration/3.21] add support for sqlserver
Closes #7173702
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Sep 2015 15:49:10 +0200] rev 10627
moved_entities.extid may not be NULL
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Sep 2015 15:15:03 +0200] rev 10626
[server] use sqls_create_multicol_unique_index to index entities.extid
SQL Server's UNIQUE is not standards compliant, it doesn't accept two
NULL values. Related to #7173702.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Sep 2015 15:11:29 +0200] rev 10625
[server] fix checkintegrity with pyodbc
"msg % row" dies with "not enough arguments for format string" if row is
a pyodbc.Row.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Sep 2015 14:23:57 +0200] rev 10624
[schema] remove unique constraint on unlimited String attribute
SQL Server doesn't allow indexing (and thus unique constraints) on
nvarchar(max). Related to #7173702.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Mon, 05 Oct 2015 16:36:49 +0200] rev 10623
[sources/native] fix potential NameError (closes #7364249)
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 11:15:47 +0200] rev 10622
[py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 18:10:20 +0200] rev 10621
[devtools/testlib] Port CubicWebTC.view() to py3k
testlib.TestCase.set_description's argument will eventually be printed
out to sys.stdout/stderr. On python 2, this object takes bytes-like
objects (eg, str) whereas python 3's takes unicode-like objects and
handles the encoding on its own.
Thus the 'str' type can used in both versions to eventually display the
description on screen.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 18:12:44 +0200] rev 10620
[devtools/testlib] port 'fake_form' test to io.BytesIO
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 16:45:03 +0200] rev 10619
[dataimport] port ucsvreader tests to io.BytesIO
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 18:56:29 +0200] rev 10618
[py3k] io.BytesIO
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 11 Sep 2015 17:40:23 +0200] rev 10617
[py3k] io.StringIO
Rémi Cardona <remi.cardona@free.fr> [Tue, 15 Sep 2015 12:51:27 +0200] rev 10616
Port cw.Binary to io.BytesIO
And add plenty of tests too!
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 18:26:07 +0200] rev 10615
[py3k] execfile → exec
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 15:33:47 +0200] rev 10614
[py3k] file → open
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 17 Sep 2015 09:52:06 +0200] rev 10613
[py3k] six.integer_types
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 16:03:07 +0200] rev 10612
[py3k] basestring → six.string_types
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 11:23:51 +0200] rev 10611
[py3k] import CookieJar using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 18:50:25 +0200] rev 10610
[py3k] import urllib2 from six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 16:56:57 +0200] rev 10609
[py3k] import range using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 15:07:13 +0200] rev 10608
[py3k] import queue using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 14:59:06 +0200] rev 10607
[py3k] import filter using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 14:58:52 +0200] rev 10606
[py3k] import zip using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:36:32 +0200] rev 10605
[py3k] import SimpleCookie using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 12:40:57 +0200] rev 10604
[py3k] import HTTP client constants and exceptions using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 09:39:30 +0200] rev 10603
[py3k] import URL mangling functions using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 12:19:48 +0200] rev 10602
[py3k] import 'pickle' using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 14:45:15 +0200] rev 10601
[pkg] Add dependency on six 1.4.0
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 11:32:09 +0200] rev 10600
[tests] Replace use of deprecated TestCase.assert_
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 16:30:25 +0200] rev 10599
[predicates] Simplify range(len()) iteration
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 15:34:09 +0200] rev 10598
[dataimport] Use pickle.dump instead of dumps
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 15:42:38 +0200] rev 10597
[web/facet] Simplify reversed/sorted calls
Julien Cristau <julien.cristau@logilab.fr> [Mon, 28 Sep 2015 13:47:30 +0200] rev 10596
[web/test] Use TestCase.setUpClass instead of setUpModule
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 11:16:10 +0200] rev 10595
Use isinstance() instead of type comparison
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 15:10:59 +0200] rev 10594
Unused imports
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 16:01:10 +0200] rev 10593
[py3k] tuple unpacking in function args
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 15:52:18 +0200] rev 10592
[py3k] ur'' is gone
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 15:50:29 +0200] rev 10591
[py3k] octals and long
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 15:29:25 +0200] rev 10590
[py3k] Fix raise with embedded traceback
python 3 removed the raise syntax with 2 and 3 expressions.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 14:52:09 +0200] rev 10589
[py3k] print function
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 14:28:06 +0200] rev 10588
[py3k] except as
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 14:27:34 +0200] rev 10587
[py3k] backtick to repr
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Sep 2015 15:01:55 +0200] rev 10586
[hooks/syncschema] make sure CWUniqueTogetherConstraintDelOp happens before CWConstraintDelOp
SQLServer refuses to index an unlimited text column, so we should drop
unique_together constraints (which imply an index) before we drop size
constraints. Closes #5560601.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Wed, 23 Sep 2015 15:00:33 +0200] rev 10585
[hooks/syncschema] only call "ALTER TABLE" once when changing a size constraint
Until now we would:
- remove the old size constraint from the in-memory schema
- call update_rdef_column which removes the size restriction from the
column's type
- add the new constraint object
- call update_rdef_column which adds the size restriction back
This breaks on SQL Server when the column is involved in an index (e.g.
as part of a multi-column unique constraint), because in the
intermediate stage the column's type is "nvarchar(max)", which is not
indexable.
Of course we must still detect the case where a size constraint is
really dropped and update the db schema accordingly.
Closes #5557633.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Wed, 02 Sep 2015 15:24:46 +0200] rev 10584
[syncschema] only add to the `synchronized` set if all possible updates have been done
Otherwise a simple sync_schema(syncprops=False) turns the subsequent
sync_schema() calls into a no-op.
Closes #6510918.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 23 Jul 2015 12:32:51 +0200] rev 10583
[qunit] remove unused 'data_files' parameter
Its use was removed when we stoppped pointing firefox at file://
web/test/jstests/ajax_url2.html has never actually been used, it's only
been ever mentioned in a QUnit comment.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 20 Jul 2015 13:55:54 +0200] rev 10582
[urlpublish] RESTPathEvaluator now use vid_from_rset
This avoid cases where vid may be unexpectedly overwritten. For instance when
you define a custom vid for a mime type in VID_BY_MIMETYPE, it will currently be
overriden by the URL publisher when you access to /<etype> with the proper
Accept header.
To do so, a new 'check_table' argument is introduced, which may cause bw
compatibility problems if the function has been monkey-patched.
Also pep8 a bit the tests.
Closes #5705835
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jul 2015 16:19:39 +0200] rev 10581
[server/sources] use decode_extid in datafeed
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jul 2015 16:15:17 +0200] rev 10580
[server/sources] add decode_extid method
avoids having the same dance in both eid_type_source variants
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jul 2015 10:18:56 +0200] rev 10579
[server/repo] kill repo.pinfo()
session.cnxset is dead, this can't work.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jul 2015 10:18:23 +0200] rev 10578
[web/sessions] simplify session cleanup
session.cnx.check() is no longer a thing. It dates back to dbapi.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jul 2015 10:17:42 +0200] rev 10577
[server/repo] fix typo
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jul 2015 16:09:29 +0200] rev 10576
[server/sources] AbstractSource.__ne__
Seems confusing to have __eq__ but not __ne__.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jul 2015 16:09:37 +0200] rev 10575
[server/sources] fix docstring for eid_type_source
David Douard <david.douard@logilab.fr> [Mon, 27 Jul 2015 10:00:32 +0200] rev 10574
[views] fix ProcessInformationView: SESSION_MANAGER can be None (closes #5753280)
eg. with pyramid.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 06 Aug 2015 15:21:58 +0200] rev 10573
[server/migractions] drop mock_object
It doesn't seem to have ever been used.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 06 Aug 2015 15:24:16 +0200] rev 10572
[test] kill unused lgc.testlib imports
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 25 Aug 2015 11:09:22 +0200] rev 10571
[server/migractions] raising SystemExit sounds like a bad idea
Simply skip the action (rename_relation_type) with an early return.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 27 Jul 2015 09:27:18 +0200] rev 10570
[server/storage] rename 'session' variables to 'cnx'
We no longer deal with Session objects here.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 09 Jul 2014 17:52:45 +0200] rev 10569
[migration] remove repo_connect and use config.repository() instead
One less more redundant path to the repo.
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 09 Jul 2014 16:32:14 +0200] rev 10568
[repoapi, cwconfig] give a convenience method to get a repository from a config
This is a very common need.
The private repoapi._get_inmemory_repo becomes config.repository(...)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 09 Jul 2014 15:50:23 +0200] rev 10567
[cwconfig] remove unused method
Not to be confused with serverconfig.migration_handler.
Rémi Cardona <remi.cardona@free.fr> [Tue, 19 Aug 2014 00:16:02 +0200] rev 10566
[captcha] Port to io.BytesIO
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 13 Feb 2014 17:00:40 +0100] rev 10565
[web/sessions] the session managers are definitely not components
Component (or AppObjects) take a _cw at __init__ time.
The session managers want a repository.
Related to #1381328.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 13 Feb 2014 16:43:33 +0100] rev 10564
[web] the AuthenticationManager is no more an appobject
It is now explictly instanciated by the session manager.
Related to #1381328.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 05 Dec 2014 16:22:02 +0100] rev 10563
[hooksmanager] remove very old unused module
Julien Cristau <julien.cristau@logilab.fr> [Fri, 31 Jul 2015 15:17:43 +0200] rev 10562
[devtools] fix CubicWebTC.assertDocTestFile (closes #5930028)
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jul 2015 10:51:52 +0200] rev 10561
Added tag 3.21.1, debian/3.21.1-1, centos/3.21.1-1 for changeset a8a0de0298a5
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jul 2015 18:59:14 +0200] rev 10560
[pkg] Let dh_installdocs deal with doc-base
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jul 2015 18:57:21 +0200] rev 10559
[pkg] various debian packaging fixes
- stop using *.install.in files, just use wildcards in *.install
- switch to X-Python-Version (preferred for dh_python2)
- also call dh_python2 for /usr/share/cubicweb, not just public modules
- drop long obsolete ginco and erudi migration code from cubicweb-ctl.postinst
- fix cubicweb-ctl cleanup: purge code belongs in postrm, not prerm
- don't compress changelog.html
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jul 2015 18:06:46 +0200] rev 10558
[pkg] 3.21.1
David Douard <david.douard@logilab.fr> [Tue, 28 Jul 2015 11:21:36 +0200] rev 10557
[web] fix AbstractSessionManager.clean_sessions (closes #5757240)
sessions were not closed if "last_usage_time = session.cnx.check()" actually
raises an AtributeError.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 21 Jul 2015 14:29:42 +0200] rev 10556
[migration/3.21] ask fewer questions
Several questions per table is just unreasonable.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jul 2015 11:26:47 +0200] rev 10555
[server] typo fix
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jul 2015 11:15:36 +0200] rev 10554
[test] check that we reject an rqlexpression in computed relation perms
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jul 2015 09:25:26 +0200] rev 10553
Fix (de)serialization of ComputedRelation read permissions
For normal relation types, permissions don't need to be stored since
they're just default values for the relation definitions. However,
computed relations are serialized (as CWComputedRType), while their
relation definitions are added at schema finalization time, and are only
in memory. So add the 'read_permission' relation to CWComputedRType,
and the appropriate hooks to save and restore those permissions.
To avoid having to touch yams, we drop the 'add' and 'delete'
permissions from the default computed relation permissions; this should
probably be backported there. The actual permissions (set on the
relation definitions) are hardcoded in finalize_computed_relations
anyway.
In deserialize_schema, the CWComputedRType handling needs to be delayed
a little bit, until after we've called deserialize_ertype_permissions.
The rql2sql test is adjusted because CWComputedRType has a 'name'
attribute and the 'read_permission' relation, which generates ambiguity
vs CWEType.
We add an explicit CubicWebRelationSchema.check_permission_definitions,
since we need to check both that computed and non-computed rtypes are
defined properly.
Based on report and initial patch from Christophe de Vienne (thanks!).
Closes #5706307
Christophe de Vienne <christophe@unlish.com> [Fri, 17 Jul 2015 16:48:43 +0200] rev 10552
Copy read permissions on ComputedRelation rdefs
Closes #5694110
David Douard <david.douard@logilab.fr> [Wed, 22 Jul 2015 19:50:50 +0200] rev 10551
[datafeed] fix typo in DataFeedXMLParser.is_deleted (closes #5729755)
Julien Cristau <julien.cristau@logilab.fr> [Mon, 27 Jul 2015 10:51:29 +0200] rev 10550
[server/sources] make sure entity._cw is a Connection before calling Storages
The storage callbacks don't get an explicit Connection objects, so they
go through entity._cw to access the repo and schedule operations. Since
that entity object comes out of the entity cache, its _cw may be a web
request instead of a Connection. So fix it up around the storage
callbacks.
Closes #5753543
Julien Cristau <julien.cristau@logilab.fr> [Mon, 06 Jul 2015 14:34:41 +0200] rev 10549
[hooks] base64-encode extid before inserting it into moved_entities
If we insert the wrong value we're never going to find these entities
again... Closes #5741105.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 21 Jul 2015 18:17:31 +0200] rev 10548
[hook] remove assumption about entity cache vs cw_edited
We were assuming that if an entity is in the connection's cache, it has
a cw_edited attribute. This doesn't seem to always be the case. At
least in cubicweb 3.21, merging the web and repo-side caches makes this
more likely, but Denis says he's also seen this on 3.20.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 21 Jul 2015 18:09:12 +0200] rev 10547
[hook] don't open-code Connection.entity_cache
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 23 Jul 2015 09:43:36 +0200] rev 10546
[tox] Add missing dependency on webtest for devtools tests
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 22 Jul 2015 11:32:24 +0200] rev 10545
[tox] Add missing dependency on webtest for wsgi tests
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 22 Jul 2015 10:55:39 +0200] rev 10544
[tox] Remove set of PATH environment variable
The : concatenation does not work actually so the resulting PATH was just
wrong (it did not contain the previous PATH). Anyways, the PATH environment
variable is passed by default by tox so it's probably better to let the caller
set it (thus avoiding to hard-code the specific postgres version and path).
http://tox.readthedocs.org/en/latest/example/basic.html#passing-down-environment-variables
Julien Cristau <julien.cristau@logilab.fr> [Fri, 17 Jul 2015 14:06:22 +0200] rev 10543
[doc] generalize info about debian/ubuntu repositories
That section was not kept up to date with recent distro releases; stop
trying.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 17 Jul 2015 13:49:58 +0200] rev 10542
[doc] fix link to setup info in README
... and fix URL to the repository's gpg key.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 20 Jul 2015 12:15:20 +0200] rev 10541
[server/session] remove unused cnx_meth function
Julien Cristau <julien.cristau@logilab.fr> [Mon, 20 Jul 2015 11:03:09 +0200] rev 10540
[server] don't issue a warning for something expected
Creating an instance happens all the time in tests, there's no reason to
warn every time.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 20 Jul 2015 12:37:47 +0200] rev 10539
[server] stick a _cw on internal connnection's user
Entity._fetch_restrictions goes through user._cw.vreg :(
Closes #5705769
Julien Cristau <julien.cristau@logilab.fr> [Mon, 20 Jul 2015 16:43:47 +0200] rev 10538
[migration/3.21] fix stupid error in migration script
str.join doesn't like a list of ints. Closes #5706359.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 15 Jul 2015 15:01:21 +0200] rev 10537
Added tag 3.21.0, debian/3.21.0-1, centos/3.21.0-1 for changeset 887c6eef8077
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jul 2015 18:18:58 +0200] rev 10536
[pkg] various fixes
- add missing files to MANIFEST
- exclude doc/changes from dh_installchangelogs (it's a directory, which
dh_installchangelogs doesn't expect)
- fix doc build in debian package
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jul 2015 17:40:08 +0200] rev 10535
[doc] fix broken symlinks
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jul 2015 17:04:32 +0200] rev 10534
[pkg] update 3.21.0 release date
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jul 2015 17:04:03 +0200] rev 10533
[doc/3.21] mention the postgresql-only state of the upgrade script
David Douard <david.douard@logilab.fr> [Fri, 10 Jul 2015 09:30:04 +0200] rev 10532
[datafeed] also catch EnvironmentError when trying to load the cwclientlib config file
means the config file has not been found, so fall back to the old implementation
instead of crashing.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jul 2015 09:35:52 +0200] rev 10531
[schema] Make syntax compatible with print_function
yams seems to exec() us sometimes (instead of __import__()), and
yams.reader uses print_function nowadays.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 09 Jul 2015 17:03:50 +0200] rev 10530
[pkg] 3.21.0
Julien Cristau <julien.cristau@logilab.fr> [Thu, 09 Jul 2015 11:26:09 +0200] rev 10529
[test] use FakeFile instead of File in test_fulltextindex
File.data is no longer fulltextindexed.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 09 Jul 2015 16:55:28 +0200] rev 10528
i18n update
Julien Cristau <julien.cristau@logilab.fr> [Tue, 07 Jul 2015 14:13:39 +0200] rev 10527
[serverctl] fix schema-diff command
It hadn't been ported away from dbapi.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 07 Jul 2015 14:13:10 +0200] rev 10526
[serverct] call server_{maintenance,shutdown} hooks around source-sync command
Julien Cristau <julien.cristau@logilab.fr> [Tue, 07 Jul 2015 14:12:46 +0200] rev 10525
[serverctl] call server_{maintenance,shutdown} hooks around add-source
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 07 Jul 2015 14:57:24 +0200] rev 10524
Update hgignore
Julien Cristau <julien.cristau@logilab.fr> [Tue, 07 Jul 2015 21:13:23 +0200] rev 10523
delete unmaintained clone_deps script
Closes #2517580.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 09 Jul 2015 16:43:56 +0200] rev 10522
merge 3.20.9 into 3.21
Fix conflict in unittest_postgres.py by changing sources configuration
in PostgresTimeoutConfiguration.__init__ so it happens *after*
setUpModule().
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 09 Jul 2015 15:13:10 +0200] rev 10521
Added tag 3.20.9, debian/3.20.9-1, centos/3.20.9-1 for changeset d477e6447582
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 09 Jul 2015 12:40:43 +0200] rev 10520
[pkg] 3.20.9
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 08 Apr 2015 09:27:26 +0200] rev 10519
[forms] don't display 'remove' link of inlined form for the first entity related using a '+' cardinality to its parent entity
Closes #5227394
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 08 Jul 2015 09:37:06 +0200] rev 10518
[tox] Update doc testenv to account for documentation restructuring
* Build doc from `doc` directory.
* Use `sphinx-build` directly instead of `make` as this now works and allows
to build within .tox temporary environment (instead of doc/_build),
preferable for a "test" action.
Related to #5447161.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 02 Jul 2015 11:46:57 +0200] rev 10517
[schema] drop old backward compat code
preventing yams to be itself fully cleaned
David Douard <david.douard@logilab.fr> [Thu, 11 Jun 2015 11:45:45 +0200] rev 10516
[datafeed] allow to use cwclientlib for datafeed's queries (closes #5456849)
HTTP based URLs will be handled by a CWProxy if:
- cwclientlib is available and
- the URL matches a cwclientlibrc config entry
Otherwise, fallback to previous implementation.
See https://www.cubicweb.org/project/cwclientlib
:Warning:
This comes with an API modification of DataFeedParser.retrieve_url: it used
to accept data and headers arguments to build GET or POST (if data was given)
queries, but this was not used by any known code and imply more complicated
code.
David Douard <david.douard@logilab.fr> [Thu, 11 Jun 2015 10:17:41 +0200] rev 10515
[cwxml parser] refactor url handling code to use urlparse and urlencode (related to #5456849)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Jun 2015 15:00:07 +0200] rev 10514
add use_extid_as_cwuri ext entity transform, that will be often necessary and not so easy to write at once
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Jun 2015 11:15:25 +0200] rev 10513
[dataimport] dispatch and deprecate old code
previously, the whole dataimport.py content has been copied in
dataimport/__init__.py, then dataimport/importer.py API has been introduced.
Following these changes, this cset:
* dispatch __init__ code into sub-modules
* dispatch unittest_dataimport accordingly
* deprecates functions and classes that are deprecated by the new API
Related to #5414753.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 30 Jun 2015 23:17:45 +0200] rev 10512
Add tox.ini file
* Factor out `commands` for most environments using {envname} substitution to
build pytest commande.
* Positional arguments are passed on to `pytest` (others may also be passed
after a `--`).
* Set PATH env variable for tests requiring PostgreSQL.
* Also added a `doc` target to build the book.
Also update .hgignore exclude .tox directory (where virtualenvs will be
created and cubicweb.egg-info created by sdist command).
Closes #5447161.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 29 Jun 2015 22:34:58 +0200] rev 10511
Add requirements.txt files in test directories
These files, located in each test directory (when needed), list test
dependencies supplementary to install requirements.
Some requirements.txt files include psycopg2 because it won't get installed by
logilab-database apparently.
Related to #5447161.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 09 Mar 2015 10:49:03 +0100] rev 10510
Spelling fixes in comments and docstrings
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 08 Apr 2015 11:29:24 +0200] rev 10509
[web/views] Clean up confusing backwards compatibility code
Dead code since fbb370195199, related to #4943392.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 02 Jul 2015 09:25:45 +0200] rev 10508
[server/test] avoid lgdb warnings from str to unicode conversion
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 03 Jul 2015 15:18:24 +0200] rev 10507
[web/test] Modernize unittest_propertysheet.py
- remove call to os.makedirs in global scope
- fold CACHEDIR as an instance attribute
- bonus: use unittest directly instead of lgc.testlib
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 03 Jul 2015 12:20:48 +0200] rev 10506
[web/webconfig] Drop pre-3.9 backward compatibility method "has_resource"
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 03 Jul 2015 12:07:44 +0200] rev 10505
[web] Stop using negative indices with os.stat results
The python doc says:
More items may be added at the end by some implementations.
.st_mtime is also more readable than [-2].
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 13:43:40 +0200] rev 10504
[doc] small rst fixes and cleanups in changelog files
Related to #4832808
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 13:44:01 +0200] rev 10503
[doc] make the changelog chapter a one html page
Related to #4832808
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 12:18:56 +0200] rev 10502
[doc] reformat changes files headers
to remove the "what's new" phrasing and add the publication date instead.
Related to #4832808
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 12:07:29 +0200] rev 10501
[doc] remove mentions of pyro and reposity instance type
from the concepts chapter
Related to #4832808
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 11:37:58 +0200] rev 10500
[doc] put the tutorials between the intro and the `Repository development` toc of the book
Related to #4832808
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 14:07:53 +0200] rev 10499
[doc] move the documentations from docstring directly to the book.
and improve a bit API documentations.
Related to #4832808
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 15:23:14 +0200] rev 10498
[predicates] remove deprecated sentences in docstrings
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 14:06:57 +0200] rev 10497
[predicates] objectify the anonymous_user predicate
for the sake of consistency.
David Douard <david.douard@logilab.fr> [Thu, 02 Jul 2015 19:54:25 +0200] rev 10496
[doc] more fixes of warnings/errors in doc build
- move 3.21.rst changelog description at it's proper place
- include changelogs in the main index
- few typos
- add :noindex: for autoxxx directives not in api/
Related to #4832808
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 17:04:40 +0200] rev 10495
[doc] fix warnings/errors in doc build
- fix links to images
- fix a couple of typos
- re-add IDownloadableOneLineView doc
- rename documenting.rst back to .txt, it's intended as a doc of how to
write rst, not part of the rst doc
Related to #4832808
Christophe de Vienne <christophe@unlish.com> [Thu, 08 Jan 2015 23:00:56 +0100] rev 10494
[doc] Start documenting the API
Related to #4832808
Christophe de Vienne <christophe@unlish.com> [Thu, 08 Jan 2015 23:00:33 +0100] rev 10493
[doc] Remove useless indexes
Related to #4832808
Christophe de Vienne <christophe@unlish.com> [Thu, 08 Jan 2015 23:06:12 +0100] rev 10492
[doc] Insert the dev docs in the toc
Related to #4832808
Christophe de Vienne <christophe@unlish.com> [Thu, 08 Jan 2015 22:11:06 +0100] rev 10491
[doc] Restructure the documentation
* Create a new index file
* Move the sphinx configuration files do the documentation root
* Move book/README to dev/documenting.rst
* Move book/mode_plan.py to tools/
* Move book/en/images to images
* Move book/en/* to book/
* Move changelogs to changes/*
* Adapt the Makefile
* Add a title to the javascript api index
Related to #4832808
Julien Cristau <julien.cristau@logilab.fr> [Mon, 06 Jul 2015 17:39:35 +0200] rev 10490
[migration/3.21.0] performance and reliability fixes
- use EXCEPT instead of NOT IN, seems to improve performance
dramatically on postgresql
- delete rows from cw_<etype> tables whose eid is unknown
- deal with missing/dangling required inline relations (by deleting the
subject entities) instead of asserting
- fix/improve print statements
- don't ask for confirmation before running pure select queries
Julien Cristau <julien.cristau@logilab.fr> [Mon, 06 Jul 2015 17:15:24 +0200] rev 10489
[serverctl] fix source-sync command
Closes #5491700
Julien Cristau <julien.cristau@logilab.fr> [Tue, 07 Jul 2015 10:41:34 +0200] rev 10488
[server] missing import
Fixes NameError in an unlikely error case.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 02 Jul 2015 10:15:47 +0200] rev 10487
[server/test] stop using email cube
- make unittest_migractions use a separate datadir, and add a fake email
cube there (we use it to test {add,drop}_cube, so need something that
looks like a cube)
- for the other test modules, just copy what we need from cubicweb-email's
schema to our test schema
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 02 Jul 2015 16:13:05 +0200] rev 10486
[web/views] Remove unused variable
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 02 Jul 2015 15:33:03 +0200] rev 10485
[server/session] bring anonymous_connection back
Fixes cubicweb-comment.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 02 Jul 2015 15:31:48 +0200] rev 10484
[migration/3.21] idempotency fixes
Drop constraints before (re)creating them
This is postgresql-specific syntax, sqlserver needs work.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 02 Jul 2015 12:19:49 +0200] rev 10483
[migration/3.21] Make index and table creation idempotent
Julien Cristau <julien.cristau@logilab.fr> [Thu, 02 Jul 2015 15:44:49 +0200] rev 10482
[migration/3.21] Add missing foreign keys when upgrading
Try to delete dangling relations, since there's no point in keeping
them.
Related to #4846892.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 01 Jul 2015 12:03:00 +0200] rev 10481
[schema2sql] properly consider skip_relations parameters.
This is the same bug as yams #286912. Also, introducing a unique function
telling if the relation should have a table or not unhide some other problems
related to computed relation, or missing skipped relations information.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 02 Jul 2015 09:20:02 +0200] rev 10480
[hooks/test] don't rely on RelationDefinition implicitly
Its presence in globals is deprecated and going away.
Laura Médioni <laura.medioni@logilab.fr> [Thu, 11 Jun 2015 16:51:51 +0200] rev 10479
[web] write css_class to attrs on rendering and not on button creation
Because css_class attribute may be overriden by bootstrap after button creation and this
modification has to be taken into account.
closes #5457548
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 14:30:24 +0200] rev 10478
[statsd_logger] handle ipv6 addresses
David Douard <david.douard@logilab.fr> [Mon, 04 May 2015 17:37:43 +0200] rev 10477
implement a simple statsd logger (closes #5488711)
and add a few timing probes on:
- etwist.server.CubicWebRootResource.render_request()
- server.querier.QuerierHelper.execute()
- server.sources.native.NativeSQLSource:
- sqlexec()
- compile_rql()
- authenticate()
- doexec()
- doexecmany()
as well as a pair of counters on server.querier.QuerierHelper cache (hit/miss).
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Wed, 01 Jul 2015 21:00:13 +0200] rev 10476
[predicates] ExpectedValuePredicate now accepts a dict parameter
``match_form_params`` and ``match_kwargs`` benefit from that.
For instance, the following statements are valid::
__select__ = match_form_params('vid', 'subvid')
__select__ = match_form_params(vid='list', subvid='incontext')
__select__ = match_form_params(vid=('list', 'tsearch'))
In the latter cases, not only the parameters (``vid``/``subvid``)
must be in the request form but their corresponding value must also match
the expected values (or one of possible choices if `values` is a sequence).
closes #5484070
Christophe de Vienne <christophe@unlish.com> [Thu, 18 Jun 2015 18:26:02 +0200] rev 10475
[rql2sql] Fix iter_exists_sols() excessive cleaning of _state.tables
Closes #5503548
David Douard <david.douard@logilab.fr> [Thu, 25 Jun 2015 22:12:49 +0200] rev 10474
[cwctl] allow overriding config settings from the command line (closes #5557656)
eg.
cubicweb-ctl start -p port:8082 myapp
to overload the port parameter defined in the all-in-one.conf file.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Jun 2015 13:04:25 +0200] rev 10473
avoid sanitizing warnings
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 14:04:16 +0200] rev 10472
[devtools] avoid warning about source['global-db-name']
sqlite and postgres db handlers store the db template name there.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 10:52:03 +0200] rev 10471
[skeleton] remove no-break space from skeleton setup.py
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 10:51:16 +0200] rev 10470
[server/test] drop unused import
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 10:50:59 +0200] rev 10469
[doc] update 3.21 release notes
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 26 Jun 2015 16:28:56 +0200] rev 10468
[devtools] Sort _cw_fields in fake_form
Try to generate a predictable string, to help testing with PYTHONHASHSEED=random.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 26 Jun 2015 16:29:28 +0200] rev 10467
[entity] sort fetchattrs when generating rql
Try to generate a predictable rql query, to help testing with
PYTHONHASHSEED=random.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 26 Jun 2015 16:27:37 +0200] rev 10466
Update hgignore for temporary test databases
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 03 Apr 2015 17:59:10 +0200] rev 10465
[js] removed unused and broken SuggestForm Widget (closes #5213487)
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 30 Jun 2015 15:06:36 +0200] rev 10464
[test] Fix unittest_i18n to run properly with "pytest -t" (closes #5576169)
When running "pytest -t", many tests modules will be imported and run
within a single python process. unittest_i18n fails when run after tests
such as unittest_webtest.py or unittest_httptest.py.
The main reason is that unittest_i18n does various tricks to add a test
cube to the search path, which badly fails when a previous test module
has already loaded "stuff" (for lack of a better word).
Instead, let's just call the 'i18ncube' command with subprocess.
The change from logilab.common.testlib to unittest is not directly
needed, but comes as a free cleanup with the above changes.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 29 Jun 2015 16:58:43 +0200] rev 10463
[server/test] fix random error in unittest_security
When entering a new Connection, we cache the user and its 'login'
attribute (with no permissions checking).
This test makes 'CWUser.login' unreadable by guests, and then proceeds
to make sure the 'anon' user can actually not read any 'login'
attribute. However, due to the above cnx initialization, anon's login
is actually cached, hence readable. This happens to make the test fail
sometimes depending on the order in which CWUser entities are returned,
because one of them has .complete() called, which as a side effect sets
the attribute cache to None for unreadable attributes.
Call .complete() on both entities to reset the login cache. While this
is still highly debatable, at least it's consistent.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 29 Jun 2015 16:41:36 +0200] rev 10462
[entity] fix typo in comment
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 26 Jun 2015 16:10:33 +0200] rev 10461
[doc] Add a tutorial and extend documentation for ExtEntityImporter
Related to #5414753.
Yann Voté <yann.vote@logilab.fr> [Fri, 26 Jun 2015 16:09:27 +0200] rev 10460
[dataimport] introduce the importer and extentity classes
This introduces the ``ExtEntity`` class which is a transitional state between
data at external source and the actual CubicWeb entities.
``ExtEntitiesImporter`` is then in charge to turn a bunch of ext entities into
CW entities in repository, using a given store.
This changeset also introduces ``SimpleImportLog`` and ``HTMLImportLog`` which
implement the CW DataImportLog interface in order to show log messages in UI
using simple text and HTML formats respectively, instead of storing these
messages in database.
Both have mostly been backported from cubes.skos.dataimport.
Closes #5414753.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 26 Jun 2015 17:01:03 +0200] rev 10459
[test] Use store.prepare_insert_relation instead of deprecated relate method
Follow-up for 1f5026e7d848.
Related to #5040344.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Jun 2015 23:30:47 +0200] rev 10458
[dataimport] since we have foreign key constraints in the database, 'entities' table should be updated first
Yann Voté <yann.vote@logilab.fr> [Wed, 24 Jun 2015 23:23:57 +0200] rev 10457
[dataimport] Move stores to new API.
Here is the final store API:
* ``prepare_insert_entity(<entity type>, **kwargs) -> eid``: given an entity
type, attributes and inlined relations, return the eid of the entity to be
inserted, *with no guarantee that anything has been inserted in database*,
* ``prepare_update_entity(<entity type>, eid, **kwargs) -> None``: given an
entity type and eid, promise for update given attributes and inlined
relations *with no guarantee that anything has been inserted in database*,
* ``prepare_insert_relation(eid_from, rtype, eid_to) -> None``: indicate that a
relation ``rtype`` should be added between entities with eids ``eid_from``
and ``eid_to``. Similarly to ``prepare_insert_entity()``, *there is no
guarantee that the relation will be inserted in database*,
* ``flush() -> None``: flush any temporary data to database. May be called
several times during an import,
* ``finish() -> None``: additional stuff to do after import is terminated.
**Warning:** ``prepare_update_entity()`` still needs to be implemented for
NoHookRQLObjectStore.
Related to #5040344
Rabah Meradi <rabah.meradi@logilab.fr> [Tue, 23 Jun 2015 13:08:48 +0200] rev 10456
[js] Using appropriate http method when calling a remote function to respect REST principles.
closes #5355952
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 May 2014 10:28:23 +0200] rev 10455
[server/test] Add a test for db-statement-timeout option
Sadly I don't think there's a way to test that functionality without
adding sleeps which make the test suite longer :/
Related to #2547026
Julien Cristau <julien.cristau@logilab.fr> [Wed, 05 Mar 2014 13:51:28 +0100] rev 10454
[datafeed] give an error message if a source is missing a parser id
Closes #3484231
Julien Cristau <julien.cristau@logilab.fr> [Mon, 23 Jun 2014 16:54:35 +0200] rev 10453
[storage] use mkstemp to create files in bfss
Avoids race condition, at the cost of slightly less predictable file names.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 11 Jun 2015 09:51:30 +0200] rev 10452
[test] Skip spa2rql tests when fyzz is not available
Closes #5456750.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 18:10:45 +0200] rev 10451
[web/staticcontrollers] fix docstring spelling
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 15:50:18 +0200] rev 10450
[server/rql2sql] fix spelling in comment
Not that I understand what that sentence means.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 15:17:31 +0200] rev 10449
[doc/book] fix rql syntax examples
"Any", not "ANY". "EXISTS" is a function.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 15 May 2015 23:05:54 +0200] rev 10448
[migration] add sql constraints on upgrade
Related to #5154406.
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 19:10:13 +0100] rev 10447
[schema] neuter check method for constraints we implement in sql
Closes #5154406.
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 23:27:13 +0100] rev 10446
add IUserFriendlyError adapter for violation of check constraints
This way we get back the same error messages we get from the python
check.
Related to #5154406
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 19:47:34 +0200] rev 10445
[hooks/syncschema] drop/add check constraints as appropriate
Related to #5154406
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 19:39:29 +0100] rev 10444
[schema2sql] support NOW and TODAY in check constraints
Related to #5154406.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 11:36:07 +0200] rev 10443
[schema2sql] insert some constraints into the backend
BoundaryConstraint, IntervalBoundConstraint and
StaticVocabularyConstraint can be implemented in SQL with CHECK
constraints.
Next steps, not part of this changeset:
- migrations
- removing no longer necessary pre-insertion work on the python side
- translating backend exception due to constraint violation into
ValidationError
Note: this means that these constraints can no longer be ignored by
disabling integrity hooks.
Related to #5154406
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 10:05:34 +0200] rev 10442
[test] run unittest_syncschema with postgresql
Lets us test more things, since we can actually do ALTER TABLE.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 15 May 2015 18:11:08 +0200] rev 10441
[test] run unittest_migractions on postgresql
sqlite's lack of support for a bunch of alter table functionality means
some thing just don't get tested otherwise.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 23 Jun 2015 10:26:03 +0200] rev 10440
[devtools] Put pg sockets in /tmp
Makes for shorter paths (limited by sockaddr_un). Also use the default port,
since we're not listening on TCP sockets.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:44:49 +0200] rev 10439
[devtools] change the way we start/stop postgresql
Instead of having the test db handler start a cluster on demand, use the
test module's setUp/tearDown callbacks to do it. This allows to have
one data directory (and thus cluster) per test module, allowing
different test modules to run in parallel, each using its own database
cluster whose path is based on the test module.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:36:26 +0200] rev 10438
[devtools] make test db name for postgresql process-specific
In case we run two tests concurrently on the same cluster, better not
use the same db name for both.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:30:32 +0200] rev 10437
[devtools] extract functions to start/stop a postgresql cluster
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 20:00:06 +0200] rev 10436
[test] don't leave NULL columns around when making an attribute required
It doesn't matter on sqlite (it doesn't do ALTER COLUMN), but when
running this test on postgresql it fails to add the 'NOT NULL'
constraint otherwise.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 23 Jun 2015 10:02:41 +0200] rev 10435
[server/session] Roll back in connection exit
This was changed in commit 8b35a898b334 "[server] remove cnxset
tracking, it is now unneeded".
When exiting a CubicWeb Connection, the database connection is put back
into the common pool. At that point anything done during the lifetime
of the CubicWeb Connection needs to be committed or rolled back.
Do a proper rollback to finish the transaction, as was happening before
the above-mentionned commit.
This showed up on testing with postgresql, when a DB schema modification
was blocked by an old connection that was still "in transaction".
Alain Leufroy <alain.leufroy@logilab.fr> [Wed, 20 May 2015 16:13:07 +0200] rev 10434
[web/views/formrenderer] do not use `cubicweb:target` attribute on form (closes #5534074)
The `cubicweb:target` is a flag indicating that the form data (with
file input) shall be posted inside an iframe - this is a well known
"ajax-like" workaround to post files with browsers that do not support
`FormData` (a.k.a IE<10).
The `cubicweb:target` was introduced when CW used the "xhtml strict"
doctype. Now that CW uses the "html5" doctype, this namespaced
attribute is no longer necessary and the iframe can be generated
directly.
Before this patch, CW inserts the `cubicweb:target` attribute in the
form DOM element (server side) and `setFormsTarget()` updates the
DOM with a new `<iframe>` element (client side).
Now, CW inserts the `<iframe>` DOM element directly (server side),
making `setFormsTarget` useless.
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Fri, 25 Jul 2014 17:10:05 +0200] rev 10433
[js] lint : make it explicit that typeof is an operator, not a function.
Also, use === / !== except for null / undefined comparison
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 21 May 2015 16:20:04 +0200] rev 10432
[devtools] qunit: show helpful data when an assertion fails
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 17:25:40 +0200] rev 10431
[web/test] Use shorter $() instead of jQuery()
Consistency FTW.
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 16:17:28 +0200] rev 10430
[devtools] qunit: use new async testing APIs
http://qunitjs.com/cookbook/#asynchronous-callbacks
QUnit keeps track of all the assert.async() objects created inside the
test functions and expects all done() functions to be called. Failure to
do so will result in the test being failed.
Unlike .start and .stop which were internal APIs, assert.async() is
stricter and fails tests if assert methods are used *after* all done()
functions are called (see "test callback execution order").
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 15:45:43 +0200] rev 10429
[devtools] qunit: use new assert APIs
test functions now accept an "assert" argument which exposes QUnit's
assert methods: assert.{expect,equal,deepEqual,ok}
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 17:04:43 +0200] rev 10428
[devtools] qunit: stop using global variables
test -> QUnit.test
module -> QUnit.module
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 15:12:58 +0200] rev 10427
[devtools] qunit: update to 1.18.0 (closes #5533333)
* the logging API has changed (register callbacks instead of setting
attributes on the QUnit object)
* the logging callbacks all have a single "details" object argument
* the "main" div was renamed to "qunit-fixture" (this change is
responsible for all the churn in our own JS test files)
* QUnit can now build the DOM elements it needs for reporting from a
single "qunit" div
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 16:33:01 +0200] rev 10426
[devtools] qunit: stop using deprecated assert functions
equals -> equal
same -> deepEqual
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 18:39:29 +0200] rev 10425
[devtools] qunit: remove useless window.close()
Modern browsers don't allow it anymore.
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 18:38:04 +0200] rev 10424
[devtools] qunit: refactor functions into QUnitView
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:13:51 +0200] rev 10423
[devtools] qunit: only start firefox once per test
The separate profile initialization step doesn't seem necessary anymore.
This was due to the system-wide installation of the "Sage" Firefox
extensions which breaks -url on a fresh profile. Removing this obnoxious
extension allows us to launch Firefox in a standard way.
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:13:00 +0200] rev 10422
[devtools] qunit: decrease test timeout
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:12:40 +0200] rev 10421
[devtools] qunit: increase resolution and depth of Xvfb screen
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 18:34:52 +0200] rev 10420
[web/test] Always call QUnit.ok with a message
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:43:03 +0200] rev 10419
[web/test] Fix remaining JS tests (closes #5533303)
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:42:01 +0200] rev 10418
[web/test] Stop testing that exceptions raised in Deferred callbacks call errback
They no longer do as of changeset 7f1f7f710b16.
Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:38:28 +0200] rev 10417
[web/test] stop calling loadxhtml with a form.callback
It was deprecated in 3.9 (changeset 7b9553a9db65) and removed in 3.18.
Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:30:57 +0200] rev 10416
[web/test] Fix reset of loaded JS/CSS files
Name changed in commit ede740bd7077.
Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:27:46 +0200] rev 10415
[web/test] Use proper JSON syntax
Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:27:12 +0200] rev 10414
[web/test] Update mock ajax reply from "render" ajaxfunc
CubicWeb transforms add_js() calls in AJAX context to <cubicweb:script>
tags since ede740bd7077 and cd5738fc440f. Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:49:40 +0200] rev 10413
[devtools] Serve JS tests over HTTP (closes #5533285)
Instead of mixing file:// URLs with XHR.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 15:58:21 +0200] rev 10412
[web/data] Support Deferred objects outside XHR
JS tests actually use this. Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 14:27:37 +0200] rev 10411
merge 3.20.8 in 3.21
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 14:15:16 +0200] rev 10410
[views] Revert previous changeset 8f05aaabf355
Breaks cubicweb/web/test/test_views.py as some views don't have a 'vid'
kwarg.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 12:51:28 +0200] rev 10409
Added tag 3.20.8, debian/3.20.8-1, centos/3.20.8-1 for changeset ec284980ed9e
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 12:50:30 +0200] rev 10408
[pkg] Prepare 3.20.8
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Fri, 25 Jul 2014 16:11:46 +0200] rev 10407
[js] simplify cw.log implementation
There's no need to rebuild and array and join its content, just
call console.log with ``arguments``.
The only trick is that console.log must be called on a console instance.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 22 Jun 2015 11:28:16 +0200] rev 10406
[web/views] don't force http redirect on logout
We no longer forbid anonymous browsing on https, so we can keep the same
scheme when logged out. Closes #5507479.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Tue, 16 Jun 2015 00:26:55 +0200] rev 10405
[views/schema] extract a hardcoded css class attribute
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Wed, 03 Jun 2015 12:36:31 +0200] rev 10404
[formwidgets] move TextArea constants to the class level
This will make it easy to override them.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 12:23:50 +0200] rev 10403
[server/test] fix broken test
The first bad revision is:
changeset: 10396:82071f767cb8
user: Sylvain Thénault <sylvain.thenault@logilab.fr>
date: Thu Jun 11 17:35:11 2015 +0200
summary: [schemas] cwuri should be read-only
This changed the number of RQLExpressions to be more than the number of
CWRelations in the test's schema.
Related to #5457566.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 18 Jun 2015 14:43:06 +0200] rev 10402
[test] typo in entities test comment
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 18 Jun 2015 14:57:55 +0200] rev 10401
[cwconfig] typo in comment
Julien Cristau <julien.cristau@logilab.fr> [Fri, 19 Jun 2015 16:38:53 +0200] rev 10400
[serverctl] allow changing the log level for source-sync command
When calling this from cron we only want to see output if something
fails.
Katia Saurfelt <katia.saurfelt@logilab.fr> [Thu, 30 Apr 2015 13:06:45 +0200] rev 10399
[web, urlrewrite] remove unused `cachekey` argument from `rgx_action` (closes #5355967)
this argument prevent from generating the resulting rset descripition
Katia Saurfelt <katia.saurfelt@logilab.fr> [Fri, 19 Jun 2015 17:54:04 +0200] rev 10398
[web] Fix the path to the `static directory` (closes #5355965)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 18 Jun 2015 18:22:55 +0200] rev 10397
[web/json] Controller.publish must return encoded data
We were mixing binary from super() and text from our params, thus
wrongly returning text. Closes #5507573.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Wed, 15 Apr 2015 22:48:20 +0200] rev 10396
[entities] fix dc_title output for bool(value) == False
Closes #5194853.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 15 May 2015 18:06:03 +0200] rev 10395
[hooks] manhandle the parsed rql query, not its string representation
... and add a groupby clause to make it actually work (the selection
might well use an aggregate function, so we need to tell the backend to
group on our target entity).
Closes #5362574
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 19 Jun 2015 17:21:28 +0200] rev 10394
merge 3.19.12 in 3.20
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 19 Jun 2015 16:05:27 +0200] rev 10393
Added tag 3.19.12, debian/3.19.12-1, centos/3.19.12-1 for changeset 5932de3d50bf
Alain Leufroy <alain@leufroy.fr> [Fri, 19 Jun 2015 10:53:23 +0200] rev 10392
[pkg] prepare 3.19.12
Alain Leufroy <alain@leufroy.fr> [Thu, 18 Jun 2015 15:35:08 +0200] rev 10391
[web/views/formrenderer] remove `cubicweb:target` attribute on form once the target <iframe> is inserted
For some unknown reason, IE9 does not want to submit the form inside
the <iframe> when the ``cubicweb:target`` attribute exists.
(closes #5377672)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Tue, 16 Jun 2015 18:01:58 +0200] rev 10390
[views] implement a custom json error view
If the client asked for ``(e)jsonexport`` view, answer
him with a json response rather than an error formatted
in a big HTML blob.
add a custom _requested_vid predicate. In cw 3.21, it will
be deprecated in favor of ``match_form_params(vid=('jsonexport', 'ejsonexport'))``
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Wed, 13 May 2015 17:49:45 +0200] rev 10389
don't override req.form['vid'] in the publisher's error_handler
closes #5359234
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 15 Jun 2015 10:49:33 +0200] rev 10388
when some inlined relation is set using cw_edited, its security shouldn't be checked.
It's currently checked anyway because upon modification of `cw_edited`,
`entity.skip_security` is updated to avoid security checking, but this is only
considered for attributes, not relations.
Closes #5477315
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 15 Jun 2015 10:46:49 +0200] rev 10387
[test] stop depending on the email cube for hooks test
Backport necessary part of its schema.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Jun 2015 17:35:11 +0200] rev 10386
[schemas] cwuri should be read-only
Closes #5457566
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 Apr 2015 21:49:06 +0200] rev 10385
fix EditController._ordered_formparams method in case some mandatory relation isn't specified
If you have an HTML form which doesn't carry information about some mandatory
relation (maybe because this relation is set by a hook), you ends up with a
KeyError when the form is posted.
Using a get instead of subscription protocol fixes the problem.
Closes #5481617.
Laura Médioni <laura.medioni@logilab.fr> [Thu, 19 Mar 2015 11:30:37 +0100] rev 10384
[views] take into account subvid form param in SameETypeListView
closes #5098473
Rabah Meradi <rabah.meradi@logilab.fr> [Wed, 03 Jun 2015 17:22:06 +0200] rev 10383
[doc] fix errors in test_visibility_propagation example
* forget to use the access instructions
* wrong use of the function entity_from_eid
* some indentation problems
Sylvain Thénault <sylvain.thenault@logilab.fr> [Sat, 13 Jun 2015 10:03:08 +0200] rev 10382
i18n typo
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 09 Jun 2015 12:05:40 +0200] rev 10381
[predicates] Use proper deprecation mechanisms
Rabah Meradi <rabah.meradi@logilab.fr> [Fri, 22 May 2015 11:28:56 +0200] rev 10380
[doc] loadRemote does a POST by default
Rabah Meradi <rabah.meradi@logilab.fr> [Wed, 03 Jun 2015 17:15:08 +0200] rev 10379
[doc] how to change logo using css
Rabah Meradi <rabah.meradi@logilab.fr> [Wed, 03 Jun 2015 17:17:29 +0200] rev 10378
[doc] escape | operator so it will be visible in the docs
Rabah Meradi <rabah.meradi@logilab.fr> [Wed, 03 Jun 2015 17:19:24 +0200] rev 10377
[doc] add missing import for FourOhFour class
Rabah Meradi <rabah.meradi@logilab.fr> [Wed, 03 Jun 2015 17:21:05 +0200] rev 10376
[doc] the instance is sytweb_instance and sytweb is the cube
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 12 Jun 2015 09:18:02 +0200] rev 10375
[server] Do not use progress bar when stdout is not a TTY
Closes #5460552.
Christophe de Vienne <christophe@unlish.com> [Wed, 13 May 2015 17:12:41 +0200] rev 10374
[wf] Fix Workflow.replace_state()
Closes #5359131
David Douard <david.douard@logilab.fr> [Tue, 05 May 2015 15:49:41 +0200] rev 10373
[tags] add properly formated tags for 3.19 and 3.20 releases
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 05 May 2015 15:36:56 +0200] rev 10372
[reledit] also check for cardinality before displaying the delete relation action. Closes #5334750
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 25 Feb 2015 10:33:41 +0100] rev 10371
[schema] add a unique index on cwuri
Closes #4985752
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 13 Feb 2014 16:37:40 +0100] rev 10370
[web] move AbstractAuthManager near its immediate concrete subclass
Related to #1381328.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 13 Feb 2014 16:32:41 +0100] rev 10369
[web] move abstract session manager to web/sessions
Related to #1381328.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 18:24:40 +0200] rev 10368
[repository] rename session -> cnx
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 18:18:37 +0200] rev 10367
[server/test] delete commented-out test
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 17:58:19 +0200] rev 10366
[connection] remove the `mode` attribute
It is now unused.
While removing mode, we also drop some sqlserver-specific reconnection logic snippets.
These had several downsides:
* untested
* partial coverage
* done at the wrong level
Related to #2919309.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 17:14:32 +0200] rev 10365
[connection] remove ensure_cnx_set context manager uses
It has been deprecated in a previous changeset and is now a no-op.
Related to #2919309.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 15:32:07 +0200] rev 10364
[server] remove cnxset tracking, it is now unneeded
Indeed, all cnxsets will now be acquired using the following API::
with session.new_cnx() as cnx:
cnx.execute(...)
# do stuff
cnx.commit()
These well-scoped blocks are the only place a cnxset can be acquired.
The old use-case for un-delimited cnxsets (pyro/zmqpickle protocols)
have been removed.
The "mode" of connection objects becomes "write" forever (it will be
removed in a couple of changesets).
Related to #2919309.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 15:58:01 +0200] rev 10363
[devtools] remove the remaining bw compat for old-style tests
It is just:
* dangerously untested right now
* on the path of further bw compat removal (cnxset handling)
webtest drops an apparently pointless .login call
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 14:52:27 +0200] rev 10362
[session] remove session-related bw compat code
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 14:47:50 +0200] rev 10361
[session/transaction] removed unused transaction class
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 13:39:56 +0200] rev 10360
[transactions] cleanup after the dbapi removal
* end req vs cnx dichotomy
* Transaction takes a cnx at __init__ time
* a couple of super calls are fixed
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 10 Jun 2014 15:06:44 +0200] rev 10359
[session/cnx] remove `session_handled` logic
Related to #3837233 .
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 10 Jun 2014 14:44:36 +0200] rev 10358
[web/sessions] reduce repoapi usage where possible
Using session.new_cnx() should be the new preferred way.
Related to #3837233.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 10 Jun 2014 18:17:07 +0200] rev 10357
[entity,storage] remove hackish code from the bfss path
The ClientConnection/Connection duality brought some painful hacks
that are no longer needed.
Hence we can send entity._cw_update_attr_cache and ._cw_dont_cache_attribute
to the grave.
Related to #3837233
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 13 Jun 2014 15:56:08 +0200] rev 10356
[connection] eliminate ClientConnection leftovers
* in the documentation
* in the docstrings
* in code notations (e.g. clt_cnx -> cnx)
Related to #3837233.
From now, there should be just one ClientConnection left in repoapi.py.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 13 Jun 2014 15:42:04 +0200] rev 10355
[session] all cnx._session become cnx.session
The _session belonged to ClientConnection, which is just gone.
Related to #3837233.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 10 Jun 2014 16:01:49 +0200] rev 10354
[repoapi] fold ClientConnection into Connection
Connection replaces ClientConnection everywhere.
Some notes:
* testlib: .client_cnx and .repo_cnx become aliases of .cnx (we might
not want to tell people to update their tests again for just no real
benefit, so we'll live with these aliases for a while)
* entity.as_rset must not be cached because we risk caching result
sets having a Connection object as .req (helps unittest_breadcrumbs)
* entity._cw_dont_cache_attributes loses its repo/request special
paths and only keeps its storage/bfss user (this helps
unittest_wfobjs)
* moreover, entity.cw_instantiate and .cw_set stop overriding the
attributes cache *after* the before_*_entity hooks have run, because
there is no need to (it is now actually harmful to do it and
unittest_hooks.test_html_tidy* tests remain green because of this)
* rset._build_entity sticks its .req onto the entity just fetched from
the cache, because otherwise it might carry a _cw that is a
Connection object where a Request is expected (helps
unittest_views_actions)
* we get overall better cache usages (entity caches were split over
Request + ClientConnection and Connection), hence the changes
unittest_entity and unittest_wfobjs
* void the ecache when providing the cnx to a request object
Having the entity cache pre-filled when we bind it to the request
object hurts because these entities are bound to Connection objects,
that lack e.g. `.form` or `.add_js` and crash the views subsystem.
Thus, the unittest_testlib.test_error_raised test will are kept
green.
Closes #3837233
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 13 Jun 2014 13:54:28 +0200] rev 10353
[migractions] remove any session related leftovers
Also, the migration handler really wants a "repo" session anyway.
This highlights a bug in unittest_wfobjs.test_duplicated_transition
where an old connection is reused. It probably used to work because it
was made of session + set_cnxset magic dust.
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 13 Jun 2014 12:07:51 +0200] rev 10352
[session] provide missing apis to Connection
From this point, Connection provides a superset of ClientConnection.
Related to #3837233.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 01 Jul 2014 16:55:49 +0200] rev 10351
[connection] replace .running_dbapi_query with .hooks_in_progress
The thing was badly named.
It tries to help distinguish between queries issued
directly by the programmer (e.g in the views: cnx.execute(...))
from queries issued from the hooks, operations ... or even
the repository or the native source objects.
It worked heuristically being associated with
the security being disabled.
We provide a better name and an implementation distinct from
the security management methods.
Related to #3933480.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 05 May 2015 08:41:19 +0200] rev 10350
[dataimport] Turn the module into a package
Just `hg mv` dataimport.py and test/unittest_dataimport.py.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 07 Nov 2014 15:33:30 +0100] rev 10349
[dataimport] Properly escape strings sent to COPY FROM (closes #5278743)
See http://www.postgresql.org/docs/9.1/static/sql-copy.html#AEN64296
for escaping codes.
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Tue, 28 Apr 2015 17:00:35 +0200] rev 10348
[http] fix cache-control syntax in EtagHTTPCacheManager
use , to separate cache response directive
closes #5307539
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 01 Jul 2014 13:19:35 +0200] rev 10347
[connection] provide some missing documentation bits
The previous changesets remove information about session data and transaction data.
We provide the necessary entries in the docstring of the Connection class.
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 06 Jun 2014 17:08:08 +0200] rev 10346
[repoapi,session] remove all session-as-cnx backward compat
The `dbapi` being gone, we now can drop the session object
bw-compatibility layer. This will allow further simplifications, such
as folding ClientConnection and Connection (without too much pain),
and then having persistent sessions.
Related to #3933480.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 22 Apr 2015 18:28:58 +0200] rev 10345
[server] drop repo.internal_session and InternalSession
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 22 Apr 2015 17:48:32 +0200] rev 10344
Added tag cubicweb-version-3.20.7, cubicweb-debian-version-3.20.7-1, cubicweb-centos-version-3.20.7-1 for changeset 359d68bc1260
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 22 Apr 2015 17:48:00 +0200] rev 10343
[pkg] 3.20.7
Julien Cristau <julien.cristau@logilab.fr> [Wed, 22 Apr 2015 17:45:27 +0200] rev 10342
[dbapi] retire repo.[gs]et_shared_data which were used by the dbapi
Related to #3933480
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 17 Mar 2015 16:00:30 +0100] rev 10341
[dbapi] retire repository transaction methods which were used by the dbapi
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 17 Mar 2015 15:57:22 +0100] rev 10340
[dbapi] retire repo.call_service which was used by the dbapi
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 17 Mar 2015 15:55:52 +0100] rev 10339
[dbapi] retire repo.commit/rollback which was used by the dbapi
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 17 Mar 2015 15:46:40 +0100] rev 10338
[dbapi] retire repo.user_info which was used by the dbapi
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 17 Mar 2015 15:41:54 +0100] rev 10337
[dbapi] retire repo.entity_metas which was used by the dbapi
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 04 Jun 2014 18:21:24 +0200] rev 10336
[dbapi] retire repo.execute, which was used by the dbapi
We will retire or reform pieces, mostly of the Repository class,
that were related to the old dbapi way of life.
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 05 Jun 2014 09:51:57 +0200] rev 10335
[devtools/testlib] remove dbapi backward-compat
Related to #3933480.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 13 Mar 2015 16:11:35 +0100] rev 10334
[test] fix copy-pasta in doc string
Julien Cristau <julien.cristau@logilab.fr> [Fri, 13 Mar 2015 16:10:29 +0100] rev 10333
[book] remove dbapi documentation
Move some still-relevant doc related to the RQL connection API to the
'sessions' section. It might make sense to move this back outside of
the "Repository development" chapter at some point since this is
relevant in other contexts.
Alain Leufroy <alain@leufroy.fr> [Fri, 27 Mar 2015 15:29:34 +0100] rev 10332
[uilib] `uilib.js` helper now honors explicit JSString (closes #4959538)
Previously, if a JSString was inside a nested container (i.e. list or
dict), it was handled as a string, not a verbatim js chunk (see
docstring and test). So the following code::
>>> str(js.cw.pouet(1, {'callback': JSString('cw.mycallback')})
resulted in::
"cw.pouet(1, {'callback': 'cw.mycallback')})"
while we expect (note the removed quotes)::
"cw.pouet(1, {'callback': cw.mycallback)})"
We use ``cubiweb.utils.js_dumps`` instead of
``cubicweb.utils.json_dumps`` which is aware of JSString.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 03 Jun 2014 16:57:14 +0200] rev 10331
[dbapi] remove the dbapi module and its immediate remaining users
We suppress toolsutils.config_connect, which has currently
only one known user (the email cube), which is being patched.
It can be replaced with utils.admincnx function for a local
access.
Next will come a series to:
* remove the session backward compatibility
* fold ClientConnection into Connection
Closes #3933480.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 13 Mar 2015 16:57:32 +0100] rev 10330
[web/views] remove dbapi usage from 'gc' view
Christophe de Vienne <christophe@unlish.com> [Tue, 07 Apr 2015 17:08:53 +0200] rev 10329
[sqlite] Fix integrity error parsing
Up to sqlite 3.7, integrity error message may be in the singular form
if only one column is in the unique index.
Closes #5224632
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 Apr 2015 21:46:52 +0200] rev 10328
[postgres] fix limit_size regexp to properly remove one char tags like <p>.
Closes #5221847
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 15 Apr 2015 22:08:08 +0200] rev 10327
[postgres] _regproc.postgres.sql should be reloadable
Julien Cristau <julien.cristau@logilab.fr> [Tue, 21 Apr 2015 17:12:36 +0200] rev 10326
[mail] include Date header in generated mails (closes #5271058)
Mails without Date gets flagged as spam. Plus it's wrong anyway.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 02 Apr 2015 10:41:53 +0200] rev 10325
[doc] mention datadir-url configuration option in release notes
Related to #5204550
Julien Cristau <julien.cristau@logilab.fr> [Wed, 22 Apr 2015 12:26:44 +0200] rev 10324
[web] add test for datadir-url option (related to #5204550)
Julien Cristau <julien.cristau@logilab.fr> [Wed, 01 Apr 2015 15:50:59 +0200] rev 10323
[web] Add datadir-url configuration option (closes #5204550)
Makes it possible to use a different host for static data instead of ${base_url}/data
Julien Cristau <julien.cristau@logilab.fr> [Tue, 31 Mar 2015 10:22:05 +0200] rev 10322
[web] kill https-deny-anonymous option (closes #5193687)
It doesn't make much sense to prevent people from using https.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 29 Jan 2015 10:54:41 +0100] rev 10321
[cwctl] don't filter DeprecationWarnings
Julien Cristau <julien.cristau@logilab.fr> [Wed, 28 Jan 2015 15:53:41 +0100] rev 10320
[exceptions] avoid calling UniqueExceptionError.rtypes after closing the session
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 22 Apr 2015 12:05:09 +0200] rev 10319
[web/test] Fix broken tests after commit b81adb5e32f9
Add missing n3rdf view to RDF view list.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 11 Jun 2014 15:33:09 +0200] rev 10318
[web/test] don't delete uicache directory
Other tests use it, so the rmtree was a bit too much. Set CACHEDIR to a
temporary subdirectory, and only delete that.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 20 Feb 2015 16:17:51 +0100] rev 10317
[web/views] add text/n3 rdf view
Less shit than xml.
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 31 Oct 2014 17:17:26 +0100] rev 10316
[schemas] make CWEType.final default to False (closes #5049201)
Julien Cristau <julien.cristau@logilab.fr> [Fri, 04 Apr 2014 14:49:18 +0200] rev 10315
[repository] replace session with cnx in a few places
Julien Cristau <julien.cristau@logilab.fr> [Mon, 01 Dec 2014 16:50:41 +0100] rev 10314
Don't pass an encoding to rqlst.as_string()
Rémi Cardona <remi.cardona@free.fr> [Sun, 27 Jul 2014 14:57:51 +0200] rev 10313
[rset] Deprecate the 'encoded' argument to ResultSet.printable_rql()
It's hardly used at all, and when used inside CubicWeb, it's only set as
false. Better make sure that this function always returns a proper
unicode string and let the caller handle conversion on its own.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 22 Apr 2015 09:52:28 +0200] rev 10312
[gcdebug] ignore _NeedAuthAccessMock instances
When looping over gc.get_objects(), we'd crash in
_NeedAuthAccessMock.__getattribute__.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 10 Feb 2015 14:38:25 +0100] rev 10311
[views] Fix 'gc' view to use 'repo_gc_stats' service
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 10 Feb 2015 14:37:51 +0100] rev 10310
[services] Fix 'repo_gc_stats' to return a list of unreachable objects' repr
David Douard <david.douard@logilab.fr> [Tue, 10 Feb 2015 12:18:38 +0100] rev 10309
[services] Prevent 'repo_stats' service from aggregating information
It's up to the consumer of the service to decide whether it wants
aggregated data or not... Ensure the /siteinfo page rendering is not
modified.
David Douard <david.douard@logilab.fr> [Wed, 22 Apr 2015 11:00:50 +0200] rev 10308
[hooks] add a looping task that dumps the stats regularly in a file
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 23 Feb 2015 09:02:41 +0100] rev 10307
[web/facet] Use an Exists node in HasRelationFacet
The generated RQL now includes an EXISTS clause. For instance, one gets:
::
DISTINCT Any WHERE X is CWUser, EXISTS(X in_group A)
instead of:
::
DISTINCT Any WHERE X is CWUser, X in_group A
for a HasRelationFacet with ``rtype = 'in_group'``, which is more appropriate
for testing the existence of the relation.
Add a test for this facet along the way.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 01 Apr 2015 13:39:30 +0200] rev 10306
[debian] Add a Breaks for cubicweb-folder which stills use GMTOFFSET
Related to #2154655.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 16 Mar 2015 16:46:34 +0100] rev 10305
[web] kill GMTOFFSET (closes #2154655)
Its last user, set_cookie(expires=...), can just as well interpret its
argument as UTC. Naïve datetime objects with an implicit non-UTC
timezone are just awful.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 26 Mar 2015 08:34:47 +0100] rev 10304
[web/request] don't play tricks with utc offset
We need an UTC datetime from a time.time()-type value. It turns out
datetime provides a method to do just that. Related to #2154655.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 25 Mar 2015 08:43:00 +0100] rev 10303
[server/test] Drop dependency on folder cube
Just copy schema bits when needed and drop a view (not possible anymore) in
unittest_repository.
Closes #5168939.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 25 Mar 2015 08:21:00 +0100] rev 10302
[web/test] Drop folder cube dependency
Copy useful schema bits, define IBreadCrumbs adapter for Folder/fild_under
(previously relying on ITree adapter) and adjust unittest_viewselector tests
to drop a view that does not exist anymore.
Related to #5168939.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 22 Apr 2015 10:08:14 +0200] rev 10301
merge 3.20.6 into 3.21
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 01 Apr 2015 15:06:45 +0200] rev 10300
[web/views] Allow changing CSVView's separator (closes #5227442)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 16 Apr 2015 18:59:12 +0200] rev 10299
[web/view/treeview] add a 'selected' class on <li> if the entity's url is the currently displayed url
An alternative would be to refactor the corresponding view so that controlling
css classes wouldn't require overriding a 5O-lines method.
Notice by default there is no associated class in the CSS so there is no
rendering difference unless one explicitly add rule in his CSS file.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 02 Apr 2015 13:54:00 +0200] rev 10298
Added tag cubicweb-version-3.20.6, cubicweb-debian-version-3.20.6-1, cubicweb-centos-version-3.20.6-1 for changeset 7f64859dcbcd
Julien Cristau <julien.cristau@logilab.fr> [Thu, 02 Apr 2015 10:58:38 +0200] rev 10297
[pkg] 3.20.6
Julien Cristau <julien.cristau@logilab.fr> [Mon, 30 Mar 2015 11:47:43 +0200] rev 10296
[notification] don't block while sending mails
Regression from #7c17659c9eae, closes #5190001.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Sun, 01 Feb 2015 22:17:25 +0100] rev 10295
[dataimport] make MetaDataGenerator / NoHookObjectStore usable from a datafeed parser
ie make it possible to create entities with external source as cw_source and
proper external id.
Closes #4891552
Sylvain Thénault <sylvain.thenault@logilab.fr> [Sun, 01 Feb 2015 22:14:44 +0100] rev 10294
[dataimport] don't generate metadata which are explicitly specified
Related to #4891552
Julien Cristau <julien.cristau@logilab.fr> [Fri, 27 Mar 2015 17:23:06 +0100] rev 10293
[debian] prepare 3.20.5-2
Julien Cristau <julien.cristau@logilab.fr> [Fri, 27 Mar 2015 17:22:39 +0100] rev 10292
merge 3.19.11-2 into 3.20
Julien Cristau <julien.cristau@logilab.fr> [Fri, 27 Mar 2015 17:21:08 +0100] rev 10291
Added tag cubicweb-debian-version-3.19.11-2 for changeset 6d265ea7d56f
Julien Cristau <julien.cristau@logilab.fr> [Fri, 27 Mar 2015 16:59:47 +0100] rev 10290
[debian] Update watch file
Julien Cristau <julien.cristau@logilab.fr> [Fri, 27 Mar 2015 16:52:44 +0100] rev 10289
[debian] Fix cubicweb-dev dependency
Julien Cristau <julien.cristau@logilab.fr> [Fri, 27 Mar 2015 16:37:26 +0100] rev 10288
Added tag cubicweb-version-3.20.5, cubicweb-debian-version-3.20.5-1, cubicweb-centos-version-3.20.5-1 for changeset 51aa56e7d507
Julien Cristau <julien.cristau@logilab.fr> [Fri, 27 Mar 2015 14:56:33 +0100] rev 10287
[pkg] 3.20.5
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 25 Mar 2015 08:09:56 +0100] rev 10286
[dataimport] don't insert created_by / owned_by relations when user is the internal manager (eid = -1).
Closes #5162943
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 25 Mar 2015 07:57:38 +0100] rev 10285
[repository] don't attempt to delete computed relation, they have no table in the database. Closes #5162935
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 23 Mar 2015 14:28:48 +0100] rev 10284
[migration] sync_schema_props_perms should skip computed relations. Closes #5147796
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 19:05:19 +0100] rev 10283
[schema] typo
Julien Cristau <julien.cristau@logilab.fr> [Fri, 20 Feb 2015 16:18:25 +0100] rev 10282
[web/test] fix test_views
reusing a request for two different view calls leads to badness
Erica Marco <erica.marco@logilab.fr> [Mon, 23 Mar 2015 11:08:04 +0100] rev 10281
[documentation] add note concerning Attribute, TODAY and NOW in yams documentation
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 18 Mar 2015 22:43:51 +0100] rev 10280
[i18n] properly translate error messages related to violated unicity constraint.
Closes #5100373
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 04 Feb 2015 15:13:36 +0100] rev 10279
[web/data] Add missing mode='swap' in loadxhtml calls (closes #5087432)
Let's avoid putting divs inside divs, dawg.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 17 Mar 2015 12:34:07 +0100] rev 10278
[web/views] Fix PropertyKeyField widget (closes #5087413)
CWProperties don't have unittests, this will likely break again.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 17 Mar 2015 12:35:45 +0100] rev 10277
[web/views] Fix exception in CWProperty edit form (closes #5087412)
Also add missing help message. The overall display is ugly, but at least
the message is shown.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 25 Mar 2015 10:10:24 +0100] rev 10276
[web/request] Restore attribute setting for search_state
This was dropped in 1f84295bfe95 when `search_state` attribute was turned into
a property, but without a setter. So adding a setter here restoring previous
behaviour, as some tests and cubes use it.
Related to #4875761.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Feb 2015 12:52:15 +0100] rev 10275
[web/request] simplify search_state loading, fix comment
Christophe de Vienne <christophe@unlish.com> [Wed, 28 Jan 2015 09:46:55 +0100] rev 10274
[webrequest] Lazy-load search_state
- The update_search_state function will hit the session data only if __mode is
present in the form.
- set_search_state keep the same semantics
- Direct access to search_state in the session data is changed by an access to
the new property.
Closes #4875761
Julien Cristau <julien.cristau@logilab.fr> [Thu, 12 Mar 2015 12:29:25 +0100] rev 10273
[config] disable fckeditor by default (closes #1368900)
FCKEditor is no longer maintained, and has a history of XSS issues.
Let's use plain text as default text format.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 18 Mar 2015 14:41:47 +0100] rev 10272
merge 3.19.11 into 3.20
Julien Cristau <julien.cristau@logilab.fr> [Wed, 18 Mar 2015 13:45:45 +0100] rev 10271
Added tag cubicweb-version-3.19.11, cubicweb-debian-version-3.19.11-1, cubicweb-centos-version-3.19.11-1 for changeset 1ae64186af94
Erica Marco <erica.marco@logilab.fr> [Tue, 17 Mar 2015 15:50:40 +0100] rev 10270
[migration] reorder system tables / meta-schema migration into bootstrap_migration
Also fix a bug in the backwards-compat eid_type_source method where it
returned an extid (possibly null) instead of a source name.
With these changes, migrating a database from cw 3.12 is now possible.
Closes #4962681
Julien Cristau <julien.cristau@logilab.fr> [Wed, 18 Mar 2015 12:02:09 +0100] rev 10269
[dataimport] add missing import (closes #4985916)
Julien Cristau <julien.cristau@logilab.fr> [Wed, 18 Mar 2015 12:01:03 +0100] rev 10268
[debian] cubicweb-dev needs cubicweb-etwist
Closes #4965410
Julien Cristau <julien.cristau@logilab.fr> [Wed, 18 Mar 2015 11:56:11 +0100] rev 10267
[pkg] 3.19.11
Julien Cristau <julien.cristau@logilab.fr> [Tue, 17 Mar 2015 09:19:06 +0100] rev 10266
Binary initializer should accept bytearrays (closes #5084075)
Recent versions of pyodbc return bytearray objects for binary data.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 05 Mar 2015 11:44:29 +0100] rev 10265
[native source] log the used connection in doexecmany as in doexec
Julien Cristau <julien.cristau@logilab.fr> [Tue, 17 Feb 2015 12:43:42 +0100] rev 10264
[server] use unicode wherever appropriate in transaction/undo related methods
Silences lgdb/sqlite warnings about using str instead of unicode.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Mar 2015 18:02:49 +0100] rev 10263
[web] typo
Julien Cristau <julien.cristau@logilab.fr> [Tue, 17 Feb 2015 12:42:42 +0100] rev 10262
[entities] return the entity itself from notification_references if the view uses a random message-id
Useful for entity update notifications to reference the entity creation message.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 17 Feb 2015 12:35:58 +0100] rev 10261
[notifications] use non-fixed message-id for EntityUpdatedNotificationView
More than one of those can be sent for a given entity, so they shouldn't
all have the same message-id. Closes #4962712.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 17 Feb 2015 12:32:39 +0100] rev 10260
[server/test] kill remaining 3.19 deprecation warnings in undo tests
Julien Cristau <julien.cristau@logilab.fr> [Mon, 16 Feb 2015 14:30:19 +0100] rev 10259
[devtools] accept str objects in CubicWebTC.new_access and .create_user
Julien Cristau <julien.cristau@logilab.fr> [Mon, 16 Feb 2015 10:38:50 +0100] rev 10258
[utils] use the "predictable" argument to js_dumps
Fixes doctest under python -R. Related to #4959402.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 16 Feb 2015 10:54:48 +0100] rev 10257
[server/test] don't rely on a sorted output from .object_relations()
Fixes test under python -R. Related to #4959402.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 16 Feb 2015 10:21:29 +0100] rev 10256
[req] make rebuild_url predictable
Fixes test with python -R. Related to #4959402.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 13 Feb 2015 15:12:31 +0100] rev 10255
[web/test] don't depend on iteration order on a set
Fixes test under python -R ('pending_insert' in session data is a set,
so we can't rely on any particular ordering). Related to #4959402.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 13 Feb 2015 15:10:43 +0100] rev 10254
[web/test] fix cubicweb 3.19 deprecation warning
Julien Cristau <julien.cristau@logilab.fr> [Fri, 13 Feb 2015 15:09:36 +0100] rev 10253
[web/test] use unicode instead of str for user logins
makes lgdb/sqlite quieter.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 13 Feb 2015 14:34:35 +0100] rev 10252
[test] Don't depend on dict iteration ordering
Fixes test with python -R. Related to #4959402.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 13 Feb 2015 14:32:15 +0100] rev 10251
[entities] make cw_fti_index_rql_queries predictable
Don't depend on the hash function, fixing test with python -R. Related
to #4959402.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 13 Feb 2015 13:39:33 +0100] rev 10250
[hooks/syncschema] use a list instead of a set for UpdateFTIndexOp
The order in which etypes get indexed matters. Related to #4959402.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 13 Feb 2015 11:48:13 +0100] rev 10249
[rqlrewrite] sort possible types when turning is_instance_of into is
Helps get predictable output even with python -R. Related to #4959402.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 13 Feb 2015 11:47:34 +0100] rev 10248
[server/test] use unicode strings for user logins