Wed, 03 Feb 2016 16:23:34 +0100 [predicates] fix paginated_rset when the class has no page_size_property
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.
Wed, 03 Feb 2016 14:23:17 +0100 [repository] drop usage of no more necessary eschema_eid function
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
Thu, 28 Jan 2016 18:17:30 +0100 [repository] set .eid on eschema when schema is loaded from the filesystem
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
Fri, 29 Jan 2016 10:06:36 +0100 [dataimport] simplify SQLGenSourceWrapper.add_info
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)
Mon, 01 Feb 2016 15:10:35 +0100 ensure .tox is blacklisted when recursing on the fs to get some files
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
Wed, 03 Feb 2016 11:12:58 +0100 drop a note about usage of sqls_create_multicol_unique_index and avoid a lgdb warning
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
Thu, 21 Jan 2016 16:08:17 +0100 [devtools] don't auto-populate virtual relations
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Jan 2016 16:08:17 +0100] rev 11086
[devtools] don't auto-populate virtual relations
Fri, 29 Jan 2016 16:48:58 +0100 [skeleton] Restore verbose output in setup.py
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.
Tue, 01 Dec 2015 16:10:18 +0100 [hooks] Skip modification_date attribute in "notifentityupdated" hook
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.
Tue, 01 Dec 2015 14:44:55 +0100 [test] Gather tests about mail module
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.
Tue, 05 Jan 2016 10:36:17 +0100 [web/component] guard against invalid page_size form parameter
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).
Tue, 05 Jan 2016 10:31:29 +0100 [predicates] fix paginated_rset for components that change page_size_property
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.
Wed, 06 Jan 2016 11:47:08 +0100 [devtools] fix get_bounds
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.
Wed, 06 Jan 2016 15:27:59 +0100 [devtools] "fix" boundary condition for autofill
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.
Tue, 19 Jan 2016 16:44:34 +0100 [test] Use stdlib doctest module instead of logilab-common class
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.
Thu, 14 Jan 2016 17:42:22 +0100 [test] Re-implement generative tests with subtests
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Jan 2016 17:42:22 +0100] rev 11077
[test] Re-implement generative tests with subtests
Thu, 14 Jan 2016 18:35:07 +0100 [devtools] Re-implement generative tests using 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
Thu, 28 Jan 2016 18:02:49 +0100 cleanups
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Jan 2016 18:02:49 +0100] rev 11075
cleanups
Tue, 26 Jan 2016 11:49:25 +0100 [pkg] python-tz does not exist in centos should be pytz (closes #10290056)
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)
Tue, 19 Jan 2016 10:03:16 +0100 [test] Skip LDAP tests if any of the underlying programs is not found
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.
Mon, 18 Jan 2016 09:23:07 +0100 Handle virtualenv development mode
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
Thu, 14 Jan 2016 18:17:23 +0100 [skeleton] Use os.walk in setup.py for Python3 compatibility
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
Thu, 14 Jan 2016 18:39:27 +0100 [skeleton] Use unittest.main directly
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.
Thu, 14 Jan 2016 16:24:01 +0100 [devtools/testlib] Disable pause trace in setUp
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.
Tue, 12 Jan 2016 19:50:57 +0100 [test] Remove dependency on person cube in devtools package
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
Tue, 26 Jan 2016 11:46:41 +0100 [pkg] add missing python-tz dependency
Julien Cristau <julien.cristau@logilab.fr> [Tue, 26 Jan 2016 11:46:41 +0100] rev 11067
[pkg] add missing python-tz dependency
Tue, 26 Jan 2016 14:04:45 +0100 [edit controller] Fix composite entity reparenting when inlined
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.
Mon, 14 Dec 2015 14:29:22 +0100 [forms] Do not raise errors on composite required relation being deleted
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
Mon, 07 Dec 2015 11:58:17 +0100 [edit controller] Cancel RQL queries to be performed on entities to be deleted
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.
Fri, 04 Dec 2015 14:56:20 +0100 [edit controller] fix handling of removal of subentities from an edit form
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.
Wed, 25 Nov 2015 16:28:41 +0100 remove unused import
Florent Cayré <florent.cayre@logilab.fr> [Wed, 25 Nov 2015 16:28:41 +0100] rev 11062
remove unused import
Fri, 20 Nov 2015 12:29:13 +0100 [editcontroller] a slight code reorganisation, in preparation for a fix
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.
Tue, 20 Oct 2015 16:05:36 +0200 [sources/native] ask permission to continue restoring even if metadata do not match (closes #7771864)
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).
Mon, 27 Jul 2015 10:00:32 +0200 [views] fix ProcessInformationView: SESSION_MANAGER can be None (closes #5753280)
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)
Wed, 16 Dec 2015 18:08:37 +0100 [web] Move "display all"/ "back to pagination" link generation into the navigation component
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
Sat, 16 Jan 2016 13:48:51 +0100 Reorganize source tree to have a "cubicweb" top-level package
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
Mon, 04 Jan 2016 11:12:30 +0100 clean some remaining dust from goa time
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 04 Jan 2016 11:12:30 +0100] rev 11056
clean some remaining dust from goa time
Wed, 06 Jan 2016 08:58:43 +0100 [datafeed] io.BytesIO requires a buffer, not a unicode (closes #9783743)
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?)
Thu, 07 Jan 2016 12:20:50 +0100 [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 11054
[pkg] rql 0.34 and logilab-database 1.15 break cubicweb 3.21
Thu, 07 Jan 2016 12:20:50 +0100 [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
Mon, 04 Jan 2016 18:40:30 +0100 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 18:40:30 +0100] rev 11052
Added tag 3.22.0, debian/3.22.0-1, centos/3.22.0-1 for changeset de472896fc0a
Mon, 04 Jan 2016 17:57:14 +0100 [pkg] 3.22.0 3.22.0 centos/3.22.0-1 debian/3.22.0-1
Julien Cristau <julien.cristau@logilab.fr> [Mon, 04 Jan 2016 17:57:14 +0100] rev 11051
[pkg] 3.22.0
Mon, 04 Jan 2016 17:23:36 +0100 merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 04 Jan 2016 17:23:36 +0100] rev 11050
merge
Wed, 09 Dec 2015 08:44:45 +0100 [formwidgets] a bit of pep8
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Dec 2015 08:44:45 +0100] rev 11049
[formwidgets] a bit of pep8
Thu, 26 Mar 2015 11:13:12 +0100 [views] improve JQueryDatePicker so that a date field can be defined as the min/max of an other one
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
Fri, 18 Dec 2015 17:49:45 +0100 [entity] don't look at fetch order recursively
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.
Mon, 21 Dec 2015 10:36:08 +0100 [pkg] fix paths in debian doc-base control file
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
Mon, 04 Jan 2016 10:36:57 +0100 [ldapfeed] extid and cwuri aren't the same thing
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).
Wed, 23 Dec 2015 15:44:28 +0100 [entities] add eid to ISerializableAdapter
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.
Wed, 23 Dec 2015 10:52:55 +0100 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Dec 2015 10:52:55 +0100] rev 11043
[doc] 3.22 release notes update
Tue, 22 Dec 2015 18:25:37 +0100 [datafeed] use tz-aware datetime objects
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.
Tue, 22 Dec 2015 17:36:50 +0100 [pkg] fix syntax error in debian/control
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Dec 2015 17:36:50 +0100] rev 11041
[pkg] fix syntax error in debian/control
Tue, 22 Dec 2015 17:35:39 +0100 [pkg] remove no-longer-used addresses from debian control file
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
Tue, 22 Dec 2015 11:35:43 +0100 [schema] rebuild computed attributes on schema reload
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.
Tue, 22 Dec 2015 10:39:05 +0100 [hooks] fix extra_props handling on python3
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.
Tue, 22 Dec 2015 16:16:07 +0100 [py3k/ldapparser] avoid confusion between unicode and bytes
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
Tue, 22 Dec 2015 17:00:03 +0100 [pkg] use correct lgdb version for tz rework
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.
Fri, 18 Dec 2015 09:36:58 +0100 pep8 bits
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Dec 2015 09:36:58 +0100] rev 11035
pep8 bits
Tue, 22 Dec 2015 15:35:10 +0100 [server] improve TZDatetime support
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.
Fri, 18 Dec 2015 09:23:23 +0100 [schema] Use TZDatetime for creation_date and modification_date
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
Fri, 18 Dec 2015 09:37:15 +0100 [server] fix SQLite patch to ensure TZDatetime are properly typed
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.
Fri, 18 Dec 2015 09:10:20 +0100 [server] fix name and add docstring to connection initialization functions
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
Fri, 18 Dec 2015 09:07:33 +0100 [server] always monkeypatch QuerierHelper to handle dates and times on SQLite
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.
Thu, 17 Dec 2015 15:17:45 +0100 [testlib] put postgres test database in test/data/database directory
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.
Wed, 02 Dec 2015 15:24:03 +0100 [dataimport] make eids_seq_range as massive store instance attribute again
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.
Wed, 02 Dec 2015 15:20:52 +0100 [dataimport] stop supporting None as eids_seq_range
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.
Wed, 02 Dec 2015 15:19:24 +0100 [dataimport] remove eids_seq_start attribute from massive store
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.
Wed, 02 Dec 2015 14:57:03 +0100 [dataimport] massive store in slave mode shouldn't flush metadata
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.
Mon, 21 Dec 2015 12:29:50 +0100 [dataimport] check that MassiveObjectStore restores the db schema properly
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]))
Mon, 21 Dec 2015 12:41:30 +0100 [dataimport] split out listing indices/constraints from getting the corresponding query
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
Tue, 15 Dec 2015 10:41:26 +0100 [dataimport] massive_store: do not drop constraints multiple times
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__.
Tue, 15 Dec 2015 10:13:55 +0100 [dataimport] massive_store: do not drop constraints with `cascade` since it breaks things
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.
Mon, 21 Dec 2015 12:16:12 +0100 [dataimport] massive_store: drop all constraints in __init__ and restore all in finish
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.
Tue, 15 Dec 2015 10:32:53 +0100 [dataimport] massive_store: ignore primary key when requesting indexes on a table
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.
Tue, 15 Dec 2015 10:28:39 +0100 [dataimport] massive_store: reformat sql query
Samuel Trégouët <samuel.tregouet@logilab.fr> [Tue, 15 Dec 2015 10:28:39 +0100] rev 11018
[dataimport] massive_store: reformat sql query
Mon, 21 Dec 2015 12:47:35 +0100 [devtools] Use super() in TestServerConfiguration.__init__()
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.
Mon, 21 Dec 2015 10:08:13 +0100 [devtools] Fix database creation issues for CubicWebTestTC tests
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.
Mon, 21 Dec 2015 09:55:14 +0100 [devtools] Fix database creation issues for CubicWebServerTC tests
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.
Mon, 21 Dec 2015 09:59:45 +0100 [devtools] Move attribute docstring to correct location
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 21 Dec 2015 09:59:45 +0100] rev 11014
[devtools] Move attribute docstring to correct location
Sun, 20 Dec 2015 19:08:19 +0100 [web] Make tests pass if tal isn't available
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
Mon, 21 Dec 2015 15:52:41 +0100 [py3k] fix cubicweb.mail.parse_message_id
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.
Mon, 21 Dec 2015 15:46:36 +0100 [test/py3k] fix test_recipients_finder
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')]
Mon, 21 Dec 2015 15:44:20 +0100 [dataimport] fix SQLGenObjectStore's add_info for python3
Julien Cristau <julien.cristau@logilab.fr> [Mon, 21 Dec 2015 15:44:20 +0100] rev 11010
[dataimport] fix SQLGenObjectStore's add_info for python3
Mon, 21 Dec 2015 15:43:49 +0100 [dataimport] py3k doesn't like + on dict_items objects
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
Wed, 16 Jul 2014 10:48:47 +0200 [repository] remove unused check_session method and its test
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.
Tue, 15 Dec 2015 10:20:26 +0100 [migration/test] avoid test interdependency by removing fakecustomtype cube
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.
Wed, 09 Dec 2015 17:44:18 +0100 [migration/test] use numeric(precision, scale) instead of geometry
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.
Wed, 09 Dec 2015 17:44:18 +0100 [server, hooks] allow callable in dbh.TYPE_MAPPING
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
Wed, 09 Dec 2015 17:44:17 +0100 [migration] consider extra_props in rdef created during attribute creation hook
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
Wed, 09 Dec 2015 17:44:17 +0100 [migration] only define variable if needed
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Dec 2015 17:44:17 +0100] rev 11003
[migration] only define variable if needed
Thu, 17 Dec 2015 17:14:08 +0100 [migration] handle non-existing attribute type when adding an entity type
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.
Wed, 09 Dec 2015 17:44:17 +0100 [migration] handle the case where new final entity type is not yet in the schema
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.
Wed, 09 Dec 2015 17:44:16 +0100 [migration] config.add_cubes should ensure site_cubicweb of new cubes is called
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
Wed, 09 Dec 2015 17:44:16 +0100 [migration] test addition of a cube providing a custom final type
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
Wed, 16 Sep 2015 10:56:36 +0200 [server] add test demonstrating cache update pb since cw > 3.21
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.
Thu, 10 Dec 2015 16:58:45 +0100 Bring back the separate web-side entity cache
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
Wed, 09 Dec 2015 18:21:55 +0100 Backout "[entity,storage] remove hackish code from the bfss path
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.
Thu, 17 Dec 2015 15:34:05 +0100 merge with 3.21.5-2
Julien Cristau <julien.cristau@logilab.fr> [Thu, 17 Dec 2015 15:34:05 +0100] rev 10995
merge with 3.21.5-2
Thu, 10 Dec 2015 17:34:37 +0100 [doc] add documentation about drop_cube
Arthur Lutz <arthur.lutz@logilab.fr> [Thu, 10 Dec 2015 17:34:37 +0100] rev 10994
[doc] add documentation about drop_cube
Thu, 17 Dec 2015 15:16:14 +0100 Added tag debian/3.21.5-2 for changeset 228b6d2777e4
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
Thu, 17 Dec 2015 14:55:18 +0100 [pkg] don't install dataimport/test in both cubicweb-server and cubicweb-dev debian/3.21.5-2
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
Wed, 16 Dec 2015 11:23:48 +0100 merge with 3.21.5
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Dec 2015 11:23:48 +0100] rev 10991
merge with 3.21.5
Tue, 15 Dec 2015 19:05:41 +0100 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 19:05:41 +0100] rev 10990
Added tag 3.21.5, debian/3.21.5-1, centos/3.21.5-1 for changeset e0572a786e6b
Tue, 15 Dec 2015 18:15:08 +0100 [pkg] 3.21.5 3.21.5 centos/3.21.5-1 debian/3.21.5-1
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Dec 2015 18:15:08 +0100] rev 10989
[pkg] 3.21.5
Thu, 03 Dec 2015 10:12:37 +0100 [js] Fix a ReferenceError in cubicweb.preferences.js
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.
Mon, 14 Dec 2015 14:55:10 +0100 [dataimport] add tests for SQLGenObjectStore (closes #9177565)
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.
Mon, 14 Dec 2015 14:54:23 +0100 [dataimport] separate entities table from other metadata in SQLGenObjectStore
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.
Mon, 14 Dec 2015 14:53:02 +0100 [dataimport] remove threading support from SQLGenObjectStore
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.
Thu, 03 Dec 2015 14:55:10 +0100 [dataimport] prepare_insert_entity should not crash with SQLGenObjectStore
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.
Tue, 01 Dec 2015 13:39:17 +0100 [dataimport] Fix method signature
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.
Tue, 01 Dec 2015 13:38:21 +0100 [dataimport] add missing import 'eschema_eid'
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
Tue, 15 Dec 2015 14:12:59 +0100 merge with 3.21.4
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Dec 2015 14:12:59 +0100] rev 10981
merge with 3.21.4
Tue, 15 Dec 2015 12:37:04 +0100 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:37:04 +0100] rev 10980
Added tag 3.21.4, debian/3.21.4-1, centos/3.21.4-1 for changeset d3b92d3a7db0
Tue, 15 Dec 2015 12:00:31 +0100 [pkg] 3.21.4 3.21.4 centos/3.21.4-1 debian/3.21.4-1
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Dec 2015 12:00:31 +0100] rev 10979
[pkg] 3.21.4
Tue, 15 Dec 2015 11:41:25 +0100 merge with 3.20.12
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Dec 2015 11:41:25 +0100] rev 10978
merge with 3.20.12
Tue, 15 Dec 2015 11:24:52 +0100 Added tag 3.20.12, debian/3.20.12-1, centos/3.20.12-1 for changeset 03e8fc9f79a6
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
Fri, 11 Dec 2015 14:07:51 +0100 [tox] Ensure pytest gets run with virtualenv's python
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
Mon, 09 Nov 2015 11:34:28 +0100 [tox] Use generating environments
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
Wed, 09 Dec 2015 16:32:57 +0100 a bit of pep8
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Dec 2015 16:32:57 +0100] rev 10974
a bit of pep8
Tue, 15 Dec 2015 08:55:58 +0100 [adapters] Use an adapter for serializing entities to a bare python structure
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
(0) -10000 -3000 -1000 -120 +120 +1000 tip