Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Dec 2015 09:10:20 +0100] rev 11031
[server] fix name and add docstring to connection initialization functions
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Dec 2015 09:07:33 +0100] rev 11030
[server] always monkeypatch QuerierHelper to handle dates and times on SQLite
The patch prevents problems due to a SQLite bug causing some values to
be returned as strings instead of properly typed objects.
This should probably be improved to use SQLite connection hooks. But
the major improvement is that the monkeypatch is now done all the time,
and not just for tests.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 17 Dec 2015 15:17:45 +0100] rev 11029
[testlib] put postgres test database in test/data/database directory
with other (sqlite) test databases. Closes #9240765
Simplify .hgignore in passing.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Dec 2015 15:24:03 +0100] rev 11028
[dataimport] make eids_seq_range as massive store instance attribute again
I changed it to a class attribute recently, but on further thought (and
prompting from Adrien) it seems to make more sense as an instance
attribute.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Dec 2015 15:20:52 +0100] rev 11027
[dataimport] stop supporting None as eids_seq_range
It couldn't work as-is because entities_id_seq is not a sequence object.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Dec 2015 15:19:24 +0100] rev 11026
[dataimport] remove eids_seq_start attribute from massive store
Instead provide a utility function to reset the eid sequence.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Dec 2015 14:57:03 +0100] rev 11025
[dataimport] massive store in slave mode shouldn't flush metadata
The metadata insertion is to be done only by the master-mode store.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Mon, 21 Dec 2015 12:29:50 +0100] rev 11024
[dataimport] check that MassiveObjectStore restores the db schema properly
Ideally we'd use "pg_dump --schema-only" to compare before/after, but when
restoring a constraint such as:
cstr48f9ceae537d68859b62c601681c8d3e CHECK (((cw_type)::text = ANY ((ARRAY['normal'::character varying, 'auto'::character varying])::text[])))
postgres will convert the text cast on array to a cast on each cell of array
cstr48f9ceae537d68859b62c601681c8d3e CHECK (cw_type::text = ANY (ARRAY['normal'::character varying::text, 'auto'::character varying::text]))
Samuel Trégouët <samuel.tregouet@logilab.fr> [Mon, 21 Dec 2015 12:41:30 +0100] rev 11023
[dataimport] split out listing indices/constraints from getting the corresponding query
Samuel Trégouët <samuel.tregouet@logilab.fr> [Tue, 15 Dec 2015 10:41:26 +0100] rev 11022
[dataimport] massive_store: do not drop constraints multiple times
It is now done in __init__.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Tue, 15 Dec 2015 10:13:55 +0100] rev 11021
[dataimport] massive_store: do not drop constraints with `cascade` since it breaks things
We want to be able to restore constraints at the end of the import. If
they are silently dropped due to a CASCADE, we can't do that.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Mon, 21 Dec 2015 12:16:12 +0100] rev 11020
[dataimport] massive_store: drop all constraints in __init__ and restore all in finish
This should avoid dependency issues when dropping specific constraints (e.g.
when dropping a primary constraint referenced by a foreign key constraint).
We only do this in master mode, slave mode stores are supposed to work
with an initialized db already.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Tue, 15 Dec 2015 10:32:53 +0100] rev 11019
[dataimport] massive_store: ignore primary key when requesting indexes on a table
Primary keys show up in both lists of constraints and indexes. Pick a
side and stick to it.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Tue, 15 Dec 2015 10:28:39 +0100] rev 11018
[dataimport] massive_store: reformat sql query
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 21 Dec 2015 12:47:35 +0100] rev 11017
[devtools] Use super() in TestServerConfiguration.__init__()
While cleaning up the use of init_config() in WSGIAppTC, I wondered why
the method was trying to set the 'https_uiprops' and 'https_datadir_url'
attributes on the config, when WebConfiguration's __init__ should be
taking care of setting them.
WSGIAppTC uses the default configuration - one that derives from
ApptestConfiguration (noted as G below).
The issue is that the class hierarchy of ApptestConfiguration includes
TestServerConfiguration (C in the graph below) which calls
ServerConfiguration's __init__ directly (B below). As B does not have an
__init__ method, CubicWebConfiguration's __init__ is called directly (A
below). This has the unintended consequence of preventing
WebConfiguration's __init__ from being called.
A
/ \
B D
| |
C E
\ /
F
|
G
|
...
A: cwconfig.CubicWebConfiguration
B: server.serverconfig.ServerConfiguration
C: devtools.TestServerConfiguration
D: web.webconfig.WebConfiguration
E: etwist.twconfig.WebConfigurationBase
F: devtools.BaseApptestConfiguration
G: devtools.ApptestConfiguration
NB: unittest_wsgi wasn't really broken, as it's the only test in
wsgi/test/, but I figured I might as well clean it up.
Related to #9297611.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 21 Dec 2015 10:08:13 +0100] rev 11016
[devtools] Fix database creation issues for CubicWebTestTC tests
To reproduce (with a purged repo):
* python web/test/test_jscript.py
* python web/test/unittest_views_xmlrss.py
The '__default_empty_db__' will contain the wrong 'base_url'
configuration, thus breaking URLs in the xmlrss tests.
Closes #9297611.
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