Julien Cristau <julien.cristau@logilab.fr> [Wed, 14 Jan 2015 13:35:22 +0100] rev 11185
Add migration helper function to delete entity types faster
Bypasses all hooks and (for now) ignores any composite relations.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 14 Mar 2016 15:38:03 +0100] rev 11184
[testlib] Import nocoverage from logilab.common.testlib
This depends on a change in logilab-common 1.2.0
Julien Cristau <julien.cristau@logilab.fr> [Mon, 14 Mar 2016 21:28:44 +0100] rev 11183
[web/test] replace unicode with six.text_type
Some uses of unicode reappeared when merging changes from 3.19.14.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 18 Feb 2016 10:23:05 +0100] rev 11182
[devtools/testlib] Issue a RuntimeError when a generative tests is detected
Otherwise, generative tests *à la logilab-common* in CubicWebTC test cases
would silently not run (at least using logilab.common.pytest runner).
Julien Cristau <julien.cristau@logilab.fr> [Thu, 18 Feb 2016 09:30:58 +0100] rev 11181
[devtools] stop using lgc.testlib.TestCase
It's become incompatible with unittest(2).TestCase due to generative
tests. Just keep the datadir/datapath and assertCountEqual bits in our
BaseTestCase.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 03 Mar 2016 10:25:32 +0100] rev 11180
[test] Replace remaining generative tests by subtests
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 14 Mar 2016 18:15:09 +0100] rev 11179
[tox] Enable all applicable py34 environments
All except etwist.
Comes with a few tricks in tox.ini:
* add ``-e.`` to force installing of cubicweb in development because
dependency cubes would otherwise install cubicweb 3.22 (the latest release),
which is not python3 installable.
* "install" cubes/__init__.py because the file is not installed in
develop mode; maybe this file should be managed by cubes themselves...
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Mar 2016 17:01:42 +0100] rev 11178
[migration/3.10] fix AttributeError
'Connection' object has no attribute 'HOOKS_DENY_ALL'
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Mar 2016 17:53:20 +0100] rev 11177
[server/sources] Fix authenticate on pre-3.10 database
When migrating from a pre-3.10 database, the CWSource entity type and
cw_source relation type are not known, but authenticate should still
work to be able to add them.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 29 Jan 2016 17:11:17 +0100] rev 11176
[test] Add a test ensuring new cube built from skeleton is flake8-compliant
And make skeleton files actually flake8-compliant henceforth.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 25 Jan 2016 08:28:16 +0100] rev 11175
[skeleton] Ship a tox.ini file upon new cube
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Mar 2016 13:47:20 +0100] rev 11174
[web] fix headers on 304 responses (closes #11466875)
The response MUST include the following header fields:
[...]
- ETag and/or Content-Location, if the header would have been sent
in a 200 response to the same request
https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.5
Unfortunately we weren't copying headers from what would have been the
200 response, but from the request.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Mar 2016 18:01:44 +0100] rev 11173
[web/httpcache] GMTOFFSET no longer exists
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Mar 2016 13:47:20 +0100] rev 11172
[web] fix headers on 304 responses (closes #11466875)
The response MUST include the following header fields:
[...]
- ETag and/or Content-Location, if the header would have been sent
in a 200 response to the same request
https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.5
Unfortunately we weren't copying headers from what would have been the
200 response, but from the request.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 29 Feb 2016 12:32:52 +0100] rev 11171
[rset] fix infinite recursion introduced in c1eb5a676c80
The mechanism to avoid loops in c1eb5a676c80 "[rset] Always complete
attribute/relation caches in ResultSet.get_entity" breaks down: we would
loop forever if two entities that were already in the cache were linked
by a relation with ? or 1 cardinality in both directions. To avoid
that, keep a set of already-considered columns. Related to #9942503.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 17 Feb 2016 10:02:03 +0100] rev 11170
pep8 unittest_application and unittest_formfields
Alexandre Richardson <alexandre.richardson@logilab.fr> [Tue, 12 Jan 2016 14:31:14 +0100] rev 11169
[rset] Always complete attribute/relation caches in ResultSet.get_entity
RQL queries are often designed to fill up the ORM's caches when fetching
entities out of the result set. Until now, if an entry already existed
in the entity cache, ResultSet.get_entity would return it unchanged,
not using the new ResultSet's contents to update the attribute cache,
breaking expectations (if the attributes are needed, they'd then be
fetched later one at a time, one entity at a time), resulting in loads
of DB accesses.
So we change ResultSet.get_entity so that:
* if the entity is already cached and has been instantiated from the
same rset, it is returned as-is (to avoid loops)
* if the entity is not yet cached, it is instantiated
* if the entity is cached via another rset, its attribute/relation
caches are completed
Closes #9942503
Alexandre Richardson <alexandre.richardson@logilab.fr> [Tue, 12 Jan 2016 17:36:28 +0100] rev 11168
[rset] refactoring of _build_entity method
define a method for entity instantiation and storage in cache
(related to #9942503)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 25 Feb 2016 09:28:21 +0100] rev 11167
[entity] comparing two entities returns NotImplemented
Fixes a test when using some versions of unittest2, where
assertItemsEqual tries a sort and expects TypeError, which it doesn't
get if we directly raise NotImplementedError. The NotImplemented value
is treated specially by the interpreter:
https://docs.python.org/3.4/library/constants.html#NotImplemented
Julien Cristau <julien.cristau@logilab.fr> [Thu, 18 Feb 2016 09:24:43 +0100] rev 11166
[test] replace one use of lgc.testlib.unittest_main with unittest.main
Julien Cristau <julien.cristau@logilab.fr> [Thu, 18 Feb 2016 09:23:18 +0100] rev 11165
[test] stop using TestCase.set_description
It's a lgc-ism.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 18 Feb 2016 09:20:57 +0100] rev 11164
[test] convert a lgc-style generative test into unittest2-style
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 16:10:22 +0100] rev 11163
[web/application] fix query log handling on python3
Writing bytes to a file opened in text mode doesn't work.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 16:32:36 +0100] rev 11162
[devtools/test] duplicate CubicWebServerTC tests for CubicWebWsgiTC
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 16:32:07 +0100] rev 11161
[devtools/test] fix bytes vs text in test_base_url
Needed for python3 with the next changeset
Julien Cristau <julien.cristau@logilab.fr> [Wed, 24 Feb 2016 17:34:56 +0100] rev 11160
[devtools] skip CubicWebServerTC on python3
People should migrate to wsgi if they're going to use CubicWeb on
python3.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 16:10:51 +0100] rev 11159
[web/test] switch unittest_web from twisted to wsgi
And make it pass on python3 while at it.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 24 Feb 2016 17:31:56 +0100] rev 11158
[devtools] add CubicWebWsgiTC
Similar to CubicWebServerTC, except using wsgiref instead of twisted as
an http server.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 15:37:52 +0100] rev 11157
[web/test] return the hash of uploaded files in FileUploadTC instead of their contents
json must be unicode, which doesn't go well with arbitrary file
contents. Compute the file hash instead, as we know the hexdigest is
(ascii) text.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 15:29:06 +0100] rev 11156
[web/test] open() as a context manager
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 15:28:14 +0100] rev 11155
[web/test] json.loads expects text, not bytes
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 16:39:51 +0100] rev 11154
[wsgi] fix handling of multiple posted files
We were only keeping the last received file.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 05 Feb 2016 18:23:00 +0100] rev 11153
[web/test] Reword doc string for fileupload ajaxfunc
David Douard <david.douard@logilab.fr> [Tue, 03 Mar 2015 12:26:47 +0100] rev 11152
[skeleton] do not import the __pkginfo__.py module to make cubes installable via setuptools
When using a simple "import" statement, running 'python setup.py install' for
a cube fails in a fresh virtualenv due to the fact the install of the
dependencies (here cubicweb iteself) is done by the python process doing the
cube's installation, so the __pkginfo__ module from the cube is already
loaded (thus used) when installing cubicweb...
So we apply the third technique from:
https://packaging.python.org/en/latest/single_source_version.html
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Feb 2016 12:18:47 +0100] rev 11151
merge changes from 3.22.2
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Feb 2016 12:09:01 +0100] rev 11150
Added tag 3.22.2, debian/3.22.2-1, centos/3.22.2-1 for changeset 1b93ff37755b
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Feb 2016 11:45:54 +0100] rev 11149
[pkg] 3.22.2
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 19 Feb 2016 11:23:11 +0100] rev 11148
[pkg] fix centos install
David Douard <david.douard@logilab.fr> [Fri, 19 Feb 2016 11:03:32 +0100] rev 11147
[datafeed] do NOT call commit in DataFeedXMLParser.process() (closes #10928592)
and so, remove more useless code.
Doing a commit in DataFeedXMLParser.process() is a bad idea because this method
is called for every imported/updated entity, before handling deletions. So if
we commit here, odds are quite high that we're violating some integrity
constraint and end up with a ValidationError.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 17 Feb 2016 14:00:39 +0100] rev 11146
[schema] restore constraint checking when running on old sqlite
Old sqlite3 doesn't provide CHECK constraint names in error messages,
preventing us from translating a backend integrity error into a
ValidationError. This was added in 2012, but the sqlite3 version in
RHEL6 is older; so if we run on old sqlite, keep checking the
constraints in python rather than only in SQL.
Closes #10927494
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 17 Feb 2016 17:20:29 +0100] rev 11145
[web/autoform] fix regression introduced by #5758ba784ebd
The changes from cset 5758ba784ebd "[autoform] when building inlined-form view
for a relation, consider related entities intead of other views" lead to
an unexpected 'add new' link on creation of an entity with inlined form for
a relation of cardinality 1. To avoid this, we should consider formviews and not
existing relations when the entity is being created.
Closes #10860258
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 22 Dec 2015 09:23:00 +0100] rev 11144
[tox] Generate test environments for Python 2.7 and 3.4
Test commands for each environment are written down explicitly since I could
not find a way to extract the "package" name (e.g. "hooks") from the
environment name (e.g. "py34-hooks").
For Python 3.4 interpreter, only environments (subpackages) that do not depend
on cubes for their tests are listed since those test dependency cubes are not
yet installable with Python 3.x. etwist is also not included since the Python
3 port is not complete at the moment.
From local testing, py34 tests pass for the following subpackages:
- dataimport
- entities
- ext
- hooks
- wsgi
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 26 Jan 2016 18:04:00 +0100] rev 11143
[notification] avoid using InternalManager when we've got a CWUser
This will avoid potential information leak due to missed security restriction
and is more compatible with legacy code (pb encountered in some client code).
Closes #10294761
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 27 Jan 2016 08:35:51 +0100] rev 11142
[dataimport] rename .time to .now attribute of meta generator
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 18 Feb 2016 14:36:39 +0100] rev 11141
[pkg] Set version to 3.22.2.dev0
So that cubes used in test dependencies do not install a released CubicWeb.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 29 Jan 2016 15:08:34 +0100] rev 11140
[dataimport] cleanup a bit nohook store, mostly protecting some attributes
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 03 Feb 2016 11:13:51 +0100] rev 11139
[dataimport] add a filter function to not fail if some extentity has several values for an attribute of final relation
the function will simply record a warning in the import log and keep a value
randomly.
Notice the function has to be explicitly inserted in the transformation stream.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 03 Feb 2016 11:12:09 +0100] rev 11138
[sources] synchronize source asynchronously when started from the UI
and redirect to the forthcoming import log, for a better user experience (there
is still a lot more to do there though).
Closes #10468967
Julien Cristau <julien.cristau@logilab.fr> [Fri, 19 Feb 2016 12:35:22 +0100] rev 11137
[test] fix unittest_devctl on python3.4
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 21 Jan 2016 09:24:04 +0100] rev 11136
[test] Make sure that newcube command test produces expected files
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 29 Jan 2016 10:04:35 +0100] rev 11135
[server] remove some pre 3.10 compat
Let's assume nobody will try upgrading an instance from pre-3.10
cubicweb to 3.23+. If they do, they're setting themselves up for a lot
of pain anyway.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 17 Feb 2016 10:25:51 +0100] rev 11134
[pkg] use https URLs to pypi.{python.org,debian.net}
Julien Cristau <julien.cristau@logilab.fr> [Wed, 17 Feb 2016 10:19:14 +0100] rev 11133
[pkg] use https URL for www.cubicweb.org
Julien Cristau <julien.cristau@logilab.fr> [Wed, 17 Feb 2016 10:18:34 +0100] rev 11132
README: use https URLs for docs.cubicweb.org
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Feb 2016 10:03:51 +0100] rev 11131
pep8 bits
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Feb 2016 10:03:31 +0100] rev 11130
[i18n] enhance text formats french translation
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 17 Feb 2016 13:45:34 +0100] rev 11129
Merge with 3.22 branch
The merge was clean, just dropped cubicweb/web/data/cubicweb.goa.js.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Feb 2016 21:59:49 +0100] rev 11128
[dataimport] update example to use standard importer
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 19:18:37 +0100] rev 11127
merge changes from 3.21.6
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 02 Feb 2016 17:19:13 +0100] rev 11126
flake8 serverctl
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 16 Feb 2016 10:52:00 +0100] rev 11125
c-c source-sync now actually force synchronization
as advertized by its help message. This was because "force" argument wasn't
considered by acquire_synchronization_lock().
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 19:15:48 +0100] rev 11124
Added tag 3.21.6, debian/3.21.6-1, centos/3.21.6-1 for changeset b3cbbb7690b6
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 18:53:27 +0100] rev 11123
[pkg] 3.21.6
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 18:41:40 +0100] rev 11122
merge changes from 3.20.13
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 18:17:35 +0100] rev 11121
Added tag 3.20.13, debian/3.20.13-1, centos/3.20.13-1 for changeset 8c5dabbcd4d9
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 17:54:17 +0100] rev 11120
[pkg] 3.20.13
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 04 Jan 2016 10:43:35 +0100] rev 11119
[pkg] Yams >= 0.42 breaks CubicWeb < 3.21
Closes #9720390.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 17:16:45 +0100] rev 11118
merge changes from 3.19.14
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 14:52:28 +0100] rev 11117
Added tag 3.19.14, debian/3.19.14-1, centos/3.19.14-1 for changeset 72a0f70879ac
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 11:02:04 +0100] rev 11116
[pkg] 3.19.14
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 11:01:09 +0100] rev 11115
[sources/native] remove extra space before colon
This isn't French.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 10:52:38 +0100] rev 11114
[web/views] fix editcontroller regression
unittest_views_basecontrollers.py's
EditControllerTC.test_edit_mandatory_inlined3_object regressed with
changeset dcbb64d3a1d9 because it relied on POSTing nonexisting eids.
This seems like a silly idea, but let's keep the behaviour unchanged.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 12 Feb 2016 16:13:43 +0100] rev 11113
Added tag 3.22.1, debian/3.22.1-1, centos/3.22.1-1 for changeset d0d86803a804
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Feb 2016 15:31:48 +0100] rev 11112
fix test broken by #012e6c7d02ef
Julien Cristau <julien.cristau@logilab.fr> [Fri, 12 Feb 2016 15:21:21 +0100] rev 11111
[pkg] Attempt to fix rhel6 build
I don't know what I'm doing, but this seems to work.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 12 Feb 2016 15:19:59 +0100] rev 11110
[dataimport/test] fix python2.6 syntax error
Don't use braces for set literals.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 12 Feb 2016 14:09:38 +0100] rev 11109
Remove unused import in entity.py
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Feb 2016 10:09:13 +0100] rev 11108
[migration] don't ask confirm for those sql queries
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Feb 2016 10:06:03 +0100] rev 11107
quick fix which closes #0673348 - see comment for more info
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Feb 2016 10:39:24 +0100] rev 11106
[migration] test if entity type has been in the deleted in the transaction should protect both clauses
else we may attempt to execute the UPDATE query on a table which has been
deleted.
Closes #10692374
Julien Cristau <julien.cristau@logilab.fr> [Fri, 12 Feb 2016 10:39:14 +0100] rev 11105
[pkg] 3.22.1
David Douard <david.douard@logilab.fr> [Mon, 06 Jul 2015 11:04:42 +0200] rev 11104
[cwctl] remove support for startorder file in /etc/cubicweb.d (closes #5618947)
It's now useless.
Arthur Lutz <arthur.lutz@logilab.fr> [Wed, 10 Feb 2016 14:43:05 +0100] rev 11103
[exceptions] fix string conversion for Unauthorized exception
changeset 3cb87b61b067 changed CubicWebException to define __unicode__
as the main entry point for string conversion, but left Unauthorized's
__str__ definition unchanged, leading to a mismatch. Closes #10646396.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 11:01:46 +0100] rev 11102
Fix Binary on python < 2.7.4 (closes #10593811)
Before the fix for http://bugs.python.org/issue10211 we can't pass a
buffer object to BytesIO, so keep using StringIO in that case. And
because StringIO is an old-style class, we can't use super().
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Feb 2016 22:00:48 +0100] rev 11101
[migration] fix crash on 3.22 upgrade if entity type doesn't exist in fsschema (pending removal)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Feb 2016 12:00:23 +0100] rev 11100
[autoform] when building inlined-form view for a relation, consider related entities intead of other views
by considering previous form-views, we may miss that there exists related
entities but which are not editable.
Closes #10495602
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 29 Jan 2016 17:22:25 +0100] rev 11099
Add a __main__ to cubicweb
This avoids calling cubicweb-ctl relatively in tests and could be useful
in virtualenv.
This is just a copy of bin/cubicweb-ctl file, which should probably be
generated from a setuptools entry points.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 03 Feb 2016 15:12:32 +0100] rev 11098
merge 3.19 heads
Getting an unexpected test error though:
ERROR: test_edit_mandatory_inlined3_object (unittest_views_basecontrollers.EditControllerTC)
Christophe de Vienne <christophe@unlish.com> [Sat, 30 Jan 2016 23:06:18 +0100] rev 11097
[cwvreg] Fix propertyvalues hot updates
When CWProperty instances are touched, the corresponding value gets
updated in vreg['propertyvalues'], but their type was ignored.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 05 Feb 2016 16:49:22 +0100] rev 11096
[pkg] remove useless python >= 3.4 dependency
python is python2 is never >= 3.4.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 05 Feb 2016 16:32:20 +0100] rev 11095
[dataimport/test] fix test failures since 35b29f1eb37a
The index name changed, so we need to follow suit.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 05 Feb 2016 12:26:28 +0100] rev 11094
[pkg] do not include toplevel directories in rpm (closes #10362119)
Our spec file conflicts with the filesystem package in centos7: we set
permissions to 0755 for /usr/bin and /usr/lib whereas filesystem sets
them to 0555.
So to be compatible with both centos7 and others we simply ignore these
directories.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 05 Feb 2016 10:30:01 +0100] rev 11093
[devtools] fix config.repository signature
Its argument is called 'vreg', not 'x'. Closes #10515113.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 03 Feb 2016 16:23:34 +0100] rev 11092
[predicates] fix paginated_rset when the class has no page_size_property
Fixes test failure introduced by 70733b2dfd2a, which assumed paginated_rset
would only be called on a class with a page_size_property attribute.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 03 Feb 2016 14:23:17 +0100] rev 11091
[repository] drop usage of no more necessary eschema_eid function
since the previous cset, we are guaranteed that repository's entity schema will
have their eid attribute properly set, so we don't have anymore to check
everytime if some entity schema's .eid attributes is set or not (and retrieve it
if not).
Related to #10450092
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Jan 2016 18:17:30 +0100] rev 11090
[repository] set .eid on eschema when schema is loaded from the filesystem
enforcing the contract that a repository's schema should have .eid attribute of
entity schema set to the eid of the entity used to serialize them in the db.
Before this cset, this was not true during tests or for some c-c commands where
'quick_start' is set (eg db-restore, i18ncube...).
The change in server __init__ makes this assumption true during instance
creation: the serializing code was actually setting eid on schema object, but a
reference to a previously built schema was given instead of the one for the
latest created repository.
Closes #10450092
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 29 Jan 2016 10:06:36 +0100] rev 11089
[dataimport] simplify SQLGenSourceWrapper.add_info
At this point 'CWSource' is a thing (we're not in the middle of a
migration), and source.eid won't be None (we read it from the db)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 01 Feb 2016 15:10:35 +0100] rev 11088
ensure .tox is blacklisted when recursing on the fs to get some files
among others, avoid crash when using 'c-c i18ncube' on a cube using tox.
Closes #10429317
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 03 Feb 2016 11:12:58 +0100] rev 11087
drop a note about usage of sqls_create_multicol_unique_index and avoid a lgdb warning
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Jan 2016 16:08:17 +0100] rev 11086
[devtools] don't auto-populate virtual relations
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 29 Jan 2016 16:48:58 +0100] rev 11085
[skeleton] Restore verbose output in setup.py
This part of commit fdadf59be612 missing the integration window.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 01 Dec 2015 16:10:18 +0100] rev 11084
[hooks] Skip modification_date attribute in "notifentityupdated" hook
Depending on the call order of hooks, "modification_date" may come in
entity.cw_edited or not (from "metaattrsupdate" hook usually). It should
however not be considered in the notification context.
Closes #8842064.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 01 Dec 2015 14:44:55 +0100] rev 11083
[test] Gather tests about mail module
From sobjects/test/unittest_notification.py to test/unittest_mail.py where
other tests for mail.py are already.
Some style fixes along the way.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 05 Jan 2016 10:36:17 +0100] rev 11082
[web/component] guard against invalid page_size form parameter
Same as dff28956f37e, except the almost same code exists in two places
(yay us).
Julien Cristau <julien.cristau@logilab.fr> [Tue, 05 Jan 2016 10:31:29 +0100] rev 11081
[predicates] fix paginated_rset for components that change page_size_property
The predicate and component had better agree on the page size.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 06 Jan 2016 11:47:08 +0100] rev 11080
[devtools] fix get_bounds
Say an attribute has two IntervalBoundConstraints, one with minvalue=0
and the other with maxvalue=10 (not literally, or that could be a single
constraint, but e.g. with references to other attributes). We don't want to
override the minvalue of the former with None just because the latter happens
last in the constraints list.
This doesn't fix the case where two constraints both have a min or a max
value. Meh.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 06 Jan 2016 15:27:59 +0100] rev 11079
[devtools] "fix" boundary condition for autofill
maxvalue in an IntervalBoundConstraint is inclusive. If the min and max
values happened to coincide, we would call random.choice on an empty
list, which it didn't like.
This is still broken in the case of BoundaryConstraint('>', minvalue),
as we assume the minvalue is in the range, but that's something for
another time.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 19 Jan 2016 16:44:34 +0100] rev 11078
[test] Use stdlib doctest module instead of logilab-common class
The former just works fine now but the later does not play well with py.test.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Jan 2016 17:42:22 +0100] rev 11077
[test] Re-implement generative tests with subtests
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Jan 2016 18:35:07 +0100] rev 11076
[devtools] Re-implement generative tests using subtests
Generative tests as implemented in logilab.common.testib are not compatible
with tests runner other than lgc.pytest and this implementation differs from
the standard library, which has support for subtests_ since Python 3.4. Use
unittest2 to bridge the gap.
Maybe it'd be good to implement this on logilab.common.testlib side at some
point. Let's see how this gets received here first.
.. _subtests: https://docs.python.org/3/library/unittest.html#subtests
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Jan 2016 18:02:49 +0100] rev 11075
cleanups
Samuel Trégouët <samuel.tregouet@logilab.fr> [Tue, 26 Jan 2016 11:49:25 +0100] rev 11074
[pkg] python-tz does not exist in centos should be pytz (closes #10290056)
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 19 Jan 2016 10:03:16 +0100] rev 11073
[test] Skip LDAP tests if any of the underlying programs is not found
Some programs are in ldap-utils or ldapscripts, which may not be installed
despite slapd may.
Follow-up on 282880f81311.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 18 Jan 2016 09:23:07 +0100] rev 11072
Handle virtualenv development mode
Looking for VIRTUAL_ENV environment variable as a sign of virtualenv
activation. This at least works for developing CubicWeb itself (not sure yet
about cubes). And it makes `tox --develop` work as well.
Add a test for cwconfig._find_prefix within a virtualenv.
In tox.ini, use `develop option`_ accordingly. This makes tox running
significantly faster since it avoids building and installing the sdist. Aside,
the "develop" install is now performed *after* all test requirements are
processed, which means that the cubicweb package should always be the one from
source -- instead of a released version pulled by a cube through test
dependencies, which may occur in "recreate" step.
.. _`develop option`: <http://tox.readthedocs.org/en/latest/config.html#confval-usedevelop=BOOL
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Jan 2016 18:17:23 +0100] rev 11071
[skeleton] Use os.walk in setup.py for Python3 compatibility
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Jan 2016 18:39:27 +0100] rev 11070
[skeleton] Use unittest.main directly
Instead of lgc.testlib.unittest_main as they are identical.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Jan 2016 16:24:01 +0100] rev 11069
[devtools/testlib] Disable pause trace in setUp
Closes #9856028.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 12 Jan 2016 19:50:57 +0100] rev 11068
[test] Remove dependency on person cube in devtools package
Julien Cristau <julien.cristau@logilab.fr> [Tue, 26 Jan 2016 11:46:41 +0100] rev 11067
[pkg] add missing python-tz dependency
Florent Cayré <florent.cayre@logilab.fr> [Tue, 26 Jan 2016 14:04:45 +0100] rev 11066
[edit controller] Fix composite entity reparenting when inlined
This implies handling the reparenting case sooner, otherwise the
child entity modifications are cancelled (see 113e9da47afc).
Add a new test to ensure non-regression in all previous tests.
Closes #10291977.
Florent Cayré <florent.cayre@logilab.fr> [Mon, 14 Dec 2015 14:29:22 +0100] rev 11065
[forms] Do not raise errors on composite required relation being deleted
The entity included in the composite will be deleted in such a case, so
the field is not required even when the cardinality is '1' or '+'.
Related to #8529868
Florent Cayré <florent.cayre@logilab.fr> [Mon, 07 Dec 2015 11:58:17 +0100] rev 11064
[edit controller] Cancel RQL queries to be performed on entities to be deleted
Composite relation removal via the EditController trigger an entity
removal. Changes on such a to-be-removed entity must be cancelled as
they may trigger integrity errors before the deletion occurs.
Closes #8529868.
Florent Cayré <florent.cayre@logilab.fr> [Fri, 04 Dec 2015 14:56:20 +0100] rev 11063
[edit controller] fix handling of removal of subentities from an edit form
In CubicWeb 3.18 the semantics of dropping a composite relation were changed.
It had before the effect of deleting the subentities.
Now the edit controller must handle this by itself (it was not adapted then by
mistake).
So if it detects the removal of a composite relation (on the browser side, the
user clicked on the "remove" action), the subentity is now explicitly deleted.
It was chosen not to change the form generation but the EditController:
- to ensure pre-3.18 forms backward compat
- to avoid the introduction of a specific entity-deletion API (RQL is probably
our best API for complex DB operations)
Related to #8529868.
Florent Cayré <florent.cayre@logilab.fr> [Wed, 25 Nov 2015 16:28:41 +0100] rev 11062
remove unused import
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Fri, 20 Nov 2015 12:29:13 +0100] rev 11061
[editcontroller] a slight code reorganisation, in preparation for a fix
* `entity` defined at method entry
* a combined `continue` and a dedent of the next big block
* some vertical white space
Related to #8529868.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Tue, 20 Oct 2015 16:05:36 +0200] rev 11060
[sources/native] ask permission to continue restoring even if metadata do not match (closes #7771864)
Moreover we try to clarify the message (Expected/Found was never too clear for users).
David Douard <david.douard@logilab.fr> [Mon, 27 Jul 2015 10:00:32 +0200] rev 11059
[views] fix ProcessInformationView: SESSION_MANAGER can be None (closes #5753280)
eg. with pyramid.
(grafted from 6a07c2dc3d85f4de0cf48221607e02c4473e11e4)
Florent Cayré <florent.cayre@logilab.fr> [Wed, 16 Dec 2015 18:08:37 +0100] rev 11058
[web] Move "display all"/ "back to pagination" link generation into the navigation component
This makes the html generation customizable.
Closes #9219057
Denis Laxalde <denis.laxalde@logilab.fr> [Sat, 16 Jan 2016 13:48:51 +0100] rev 11057
Reorganize source tree to have a "cubicweb" top-level package
Basically:
mkdir cubicweb
hg mv *.py -X setup.py cubicweb
hg mv dataimport devtools entities etwist ext hooks i18n misc schemas server skeleton sobjects test web wsgi cubicweb
Other changes:
* adjust path to cubicweb-ctl in devtools tests
* update setup.py to avoid importing __pkginfo__ (exec it instead),
replace os.path.walk by os.walk and prepend `modname` here and there
* update tox.ini to account for new test locations
* update doc/conf.py so that it still finds __pkginfo__.py and CWDIR in
doc/Makefile
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 04 Jan 2016 11:12:30 +0100] rev 11056
clean some remaining dust from goa time
David Douard <david.douard@logilab.fr> [Wed, 06 Jan 2016 08:58:43 +0100] rev 11055
[datafeed] io.BytesIO requires a buffer, not a unicode (closes #9783743)
The URLLibResponseAdapter should probably be refactored (or killed?)
David Douard <david.douard@logilab.fr> [Thu, 07 Jan 2016 12:20:50 +0100] rev 11054
[pkg] rql 0.34 and logilab-database 1.15 break cubicweb 3.21
David Douard <david.douard@logilab.fr> [Thu, 07 Jan 2016 12:20:50 +0100] rev 11053
[pkg] rql 0.34 and logilab-database 1.15 break cubicweb 3.21
Julien Cristau <julien.cristau@logilab.fr> [Mon, 04 Jan 2016 18:40:30 +0100] rev 11052
Added tag 3.22.0, debian/3.22.0-1, centos/3.22.0-1 for changeset de472896fc0a
Julien Cristau <julien.cristau@logilab.fr> [Mon, 04 Jan 2016 17:57:14 +0100] rev 11051
[pkg] 3.22.0
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 04 Jan 2016 17:23:36 +0100] rev 11050
merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Dec 2015 08:44:45 +0100] rev 11049
[formwidgets] a bit of pep8
Erica Marco <erica.marco@logilab.fr> [Thu, 26 Mar 2015 11:13:12 +0100] rev 11048
[views] improve JQueryDatePicker so that a date field can be defined as the min/max of an other one
closes #5169039
Julien Cristau <julien.cristau@logilab.fr> [Fri, 18 Dec 2015 17:49:45 +0100] rev 11047
[entity] don't look at fetch order recursively
If fetch_attrs includes relations, stop including the entities on the
other side in our sorting. Fixes regression from 73ea636a5562 where we
would sort on the target entity before the attribute we wanted if the
relation's name sorted before the attribute's. This showed up in the
forge/tracker cubes with Version entities being sorted by their State's
name in preference to their version number.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 21 Dec 2015 10:36:08 +0100] rev 11046
[pkg] fix paths in debian doc-base control file
Julien Cristau <julien.cristau@logilab.fr> [Mon, 04 Jan 2016 10:36:57 +0100] rev 11045
[ldapfeed] extid and cwuri aren't the same thing
Historically, we used a ldap://... URI as cwuri attribute, not just the
dn. The extid field, OTOH, was always the dn. So when initializing our
dict of known entities from an ldap source, look at existing extids, not
cwuris, to avoid importing already-existing users (and violated unicity
constraints).
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Dec 2015 15:44:28 +0100] rev 11044
[entities] add eid to ISerializableAdapter
Life without an eid is made of sadness.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Dec 2015 10:52:55 +0100] rev 11043
[doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Dec 2015 18:25:37 +0100] rev 11042
[datafeed] use tz-aware datetime objects
Avoid TypeError when comparing tz-naive and tz-aware objects in fresh()
method.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Dec 2015 17:36:50 +0100] rev 11041
[pkg] fix syntax error in debian/control
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Dec 2015 17:35:39 +0100] rev 11040
[pkg] remove no-longer-used addresses from debian control file
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Dec 2015 11:35:43 +0100] rev 11039
[schema] rebuild computed attributes on schema reload
If we have new computed attributes we need to set their formula_select
attribute or things get sad.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Dec 2015 10:39:05 +0100] rev 11038
[hooks] fix extra_props handling on python3
The json module expects str, not bytes, so we need to do the decoding.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Dec 2015 16:16:07 +0100] rev 11037
[py3k/ldapparser] avoid confusion between unicode and bytes
- ldap3 dicts contain unicode strings
- extid must be bytes
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Dec 2015 17:00:03 +0100] rev 11036
[pkg] use correct lgdb version for tz rework
Related to #4848923.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Dec 2015 09:36:58 +0100] rev 11035
pep8 bits
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 22 Dec 2015 15:35:10 +0100] rev 11034
[server] improve TZDatetime support
by depending on logilab-database 1.15.0 including
https://www.logilab.org/ticket/1485893, we can now keep the tzinfo
attribute on datetime objects for TZDatetime attributes, so one knows
that this is a tz-aware datetime.
To easily make it work with backends that have no tz support, we keep
converting tz-aware datetime objects into utc naive datetime objects
before sending them to the database.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Dec 2015 09:23:23 +0100] rev 11033
[schema] Use TZDatetime for creation_date and modification_date
No work has been done for form fields/widgets since creation_date /
modification_date are by default not editable through the default UI. One may
want to add such feature at some point.
Time will be displayed as UTC, let the end-application decide otherwise by
customizing the tzdatetime printer if desired.
Closes #4848923
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Dec 2015 09:37:15 +0100] rev 11032
[server] fix SQLite patch to ensure TZDatetime are properly typed
NB: at this point, the TZ info is completely ignored. It will be
properly handled in later commits.
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