Philippe Pepiot <philippe.pepiot@logilab.fr> [Thu, 28 Mar 2019 10:07:02 +0100] rev 12546
[devtools/test] drop legacy cube i18n tests
test_i18ncube_legacy_layout() is droped and make others tests uses a new style
cube "cubicweb_i18ntestcube", so it doesn't depends on legacy cube machinery.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Thu, 28 Mar 2019 10:04:23 +0100] rev 12545
[server/test] make unittest_migractions.py use new style cubes
MigrationTC used old cube layout in
cubicweb/server/test/data-migractions/cubes, move them to new style cubes as
"cubicweb_<cubename>" in "apphome" (cubicweb/server/test/data-migractions/)
which is added to PYTHONPATH by CubicWebTC.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 27 Mar 2019 16:25:06 +0100] rev 12544
[cwconfig] drop _cube_modname
Since we drop support for legacy cubes, this is equivalent to _cube_pkgname()
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 27 Mar 2019 16:19:50 +0100] rev 12543
[cwconfig] drop legacy cube importer
We don't want to support legacy cubes anymore.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 22 Mar 2019 17:42:36 +0100] rev 12542
Drop more deprecated code
This follows up on changeset a8c1ea390400, in which code deprecated
using logilab.common.deprecation got dropped. Now we also drop code
deprecated using stdlib's warn(<msg>, DeprecationWarning).
Notice that, as a consequence of dropping old/new etypes aliases in
cubicweb/schema.py, we drop the import ETYPE_NAME_MAP (no longer
needed); but since other modules imported that name from
cubicweb.schema, we need to update the import statement to use
"cubicweb" directly.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 26 Mar 2019 13:08:13 +0100] rev 12541
Flake8 cubicweb/cwvreg.py
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 22 Mar 2019 17:32:30 +0100] rev 12540
Drop deprecated "boxes" and "contentnavigation" registries
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 22 Mar 2019 17:29:15 +0100] rev 12539
Drop deprecated CWCache entity type
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 22 Mar 2019 17:30:09 +0100] rev 12538
Update i18n after "recent" changes
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 22 Mar 2019 15:53:24 +0100] rev 12537
Drop repair_file_1-9_migration.py
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 22 Mar 2019 14:48:22 +0100] rev 12536
Drop a left-over 3.22 deprecation warning
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 27 Mar 2019 15:53:00 +0100] rev 12535
[doc] fix reference to ~src/cubes in tutorial
~src/cubes refer to the $HOME/cubes directory of "src" user while ~/src/cubes
refer to $HOME/src/cubes directory of current user.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 27 Mar 2019 15:52:40 +0100] rev 12534
[doc] replace cubicweb-ctl start by cubicweb-ctl pyramid
Since twisted support is gone.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 27 Mar 2019 15:51:50 +0100] rev 12533
[doc] make the tutorial use a python3 virtualenv
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 27 Mar 2019 15:43:53 +0100] rev 12532
[doc] Update README "Getting started"
* install using pip and with pyramid in a virtualenv
* link to pyramid.ini documentation
* Use pyramid to start application since twisted support is gone
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 21 Mar 2019 14:36:25 +0100] rev 12531
Flake8 cubicweb/devtools/httptest.py
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 21 Mar 2019 14:33:54 +0100] rev 12530
Remove Twisted web server
Twisted web server is not used anymore and has been superseded by
pyramid many years ago. Furthermore, our usage is not compatible with
Python 3. So we drop the "etwist" sub-package.
As a consequence, "all-in-one" configuration type gets dropped as it was
Twisted-specific. We resurrect it in cubicweb/pyramid/config.py by only
keeping options used by the "pyramid". Similarly, we introduce a
AllInOneCreateHandler in cubicweb/pyramid/pyramidctl.py that is
basically the one that lived in cubicweb/etwist/twctl.py and is used to
create the "all-in-one" instance. Added a TODO here about "pyramid.ini"
that could be generated at the end of bootstrap() method.
In cubicweb/devtools/httptest.py, CubicWebServerTC is now equivalent to
CubicWebWsgiTC and the latter is dropped.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 21 Mar 2019 12:05:30 +0100] rev 12529
Separate twisted-specific configuration from WebConfigurationBase class
This is in preparation of dropping the Twisted web server backend.
We thus draw a clearer line between what's specific to twisted from
what's generic by moving WebConfigurationBase class into
cubicweb/web/webconfig.py and only keeping twisted-related in
AllInOneConfiguration (still living in cubicweb/etwist/twconfig.py).
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 21 Mar 2019 11:50:31 +0100] rev 12528
Flake8 cubicweb/web/webconfig.py
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 21 Mar 2019 11:47:10 +0100] rev 12527
Flake8 cubicweb/etwist/twconfig.py
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Mar 2019 17:16:34 +0100] rev 12526
Remove ctl commands using the Twisted backend
This backend is not maintained, very likely no longer used in any recent
instance, and not supported in Python 3.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Mar 2019 17:04:02 +0100] rev 12525
Flake8 cubicweb/cwctl.py
* run autopep8 on the file
* fixed unused imports
* rename "version" import as "cw_version" in order not to shadow local
variables
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Mar 2019 16:53:34 +0100] rev 12524
Remove _handle_win32() method from "create" command class
This method generates code in a file using etwist module that we are
about to drop.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 15 Mar 2019 12:12:23 +0100] rev 12523
Skip tests for ldapsource with python >= 3.7
Until someone works on fixing these, this should make our CI green
again.
I tried to use setupModule() to check for python version, but
pre_setup_database() is apparently called even when a SkipTest exception
is raised there. So handle this in that method.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 27 Mar 2019 09:25:44 +0100] rev 12522
[doc] Update cubicweb-ctl page about how to run an instance
* remove mention of start/stop/restart/status commands that do not exist anymore
* briefly mention the "pyramid" and point to respective documentation page
* mention that a WSGI server should be used in production
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 27 Mar 2019 09:21:18 +0100] rev 12521
[doc] Drop mention of the "pyramid" cube
This cube got merged into cubicweb several versions ago.
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Mar 2019 14:28:30 +0100] rev 12520
[cli/enh] on 'shell' or migration command, use ipython if available
Philippe Pepiot <philippe.pepiot@logilab.fr> [Tue, 19 Mar 2019 13:17:47 +0100] rev 12519
[web/test] drop dependency on third party cubes
Drop dependency on cubicweb-file, cubicweb-blog and cubicweb-tag for cubicweb/web/test
Copy required parts of cubes (schema, entities, views and hooks) into
cubicweb/web/test/data/cubicweb-<cube> that make tests pass.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Fri, 15 Mar 2019 18:07:18 +0100] rev 12518
[test] drop dependency on third party cubes
Drop dependency on cubicweb-file, cubicweb-localperms, cubicweb-tag and
cubicweb-comment for cubicweb.test and cubicweb.sobjects.test
Move cubicweb/test/data/libpython/cubicweb_* to cubicweb/test/data, so it's
included in PYTHONPATH.
Add missing parts of schema, entities, views, hooks that make tests pass.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Fri, 15 Mar 2019 17:12:20 +0100] rev 12517
[test] drop CubicWebConfigurationWithLegacyCubesTC
This is used to test legacy cube import which is planned for removal
in cubicweb 3.27, so drop the code.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Fri, 15 Mar 2019 17:10:16 +0100] rev 12516
[test] drop unittest_cubes.py
This is used to test legacy cube import which is planned for removal in
cubicweb 3.27, so drop the code.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Tue, 19 Mar 2019 14:26:51 +0100] rev 12515
[server/test] do not depend on third party cubes
Drop requirement of basket, card, comment, file, localperms and tag cubes for
cubicweb.server tests.
Copy needed part of schema, entities, views, hooks into the
cubicweb/server/test/data directory (which is included in PYTHONPATH for
CubicWebTC tests).
For migration tests which use different "datapath", use symlinks to have dependent cubes importables.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Fri, 15 Mar 2019 15:51:27 +0100] rev 12514
[server/test] drop unused variable initialization in OperationsTC.setUp()
Variable "self.hm" is unused
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 13 Mar 2019 14:03:45 +0100] rev 12513
[server/test] bootstrap config in setUpModule function
This is test initialization, so use the setUpModule function for this
Philippe Pepiot <philippe.pepiot@logilab.fr> [Mon, 11 Mar 2019 17:43:23 +0100] rev 12512
[schema] drop monkeypatch "name_for" on BaseConstraint
BaseConstraint doesn't have "name_for" method, this is just an addition for
cubicweb needs.
Implement this as a function instead of a monkeypatch to avoid having
"name_for" not defined because cubicweb.schema hasn't been imported.
In particular this fix running cubicweb/server/test/unittest_schema2sql.py::SQLSchemaTC::test_known_values alone.
Laurent Peuch <cortex@worlddomination.be> [Thu, 14 Mar 2019 16:17:49 +0100] rev 12511
[fix] this check was too restrictive and broke tests
Laurent Peuch <cortex@worlddomination.be> [Thu, 14 Mar 2019 16:09:26 +0100] rev 12510
[fix] exception type has changed
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Wed, 13 Mar 2019 10:21:39 +0100] rev 12509
[server.rqlannotation] refactor to make class SQLGenAnnotator consistent
_annotate_select() takes SQLGenAnnotator as a first argument and is
not used anywhere except in SQLGenAnnotator. This looks like a
method to me. Let us fold it into its class.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Mar 2019 12:08:37 +0100] rev 12508
Drop most of deprecated code
As in previous changesets, most code has been deprecated since a very
long time. This changeset concerns "core" cubicweb modules
(e.g. "server", "appobjects") for which it's not easy to handle change
atomically.
In cubicweb/server/querier.py, we adjust empty_rset() function as a
result of "rqlst" argument of ResultSet being dropped. (There was no use
of the keyword argument anyways.)
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Mar 2019 14:45:35 +0100] rev 12507
Drop deprecated code in cubicweb.hooks
Changelog entry will come in a later changeset.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Mar 2019 14:45:27 +0100] rev 12506
Drop deprecated code in cubicweb.entities
Also dropped an unused import along the way.
Changelog entry will come in a later changeset.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Mar 2019 14:45:18 +0100] rev 12505
Drop deprecated code in cubicweb.devtools
Changelog entry will come in a later changeset.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Mar 2019 14:45:03 +0100] rev 12504
Drop deprecated code in cubicweb.dataimport
We actually drop *most* of deprecated code in this subpackage. What's
left is the MetaGenerator class in (cubicweb/dataimport/stores.py) which
is tricky to remove as it's still internally used by cubicweb.
Changelog entry will come in a later changeset.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Mar 2019 14:43:18 +0100] rev 12503
Drop most deprecated code in cubicweb.web
This includes both Python and JavaScript code. Most code has been
deprecated since a very long time (versions 3.1x mostly, more than 5
years ago, and a few things until 3.24).
There are still a few deprecated things, most of which are actually used
within cubicweb (or in cubes we depend on for tests). I don't know what
to do with these...
Removed a couple of unused imports along the way.
Changelog entry will come in a later changeset.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 13 Mar 2019 13:37:49 +0100] rev 12502
[web] use Separator "component" instead of deprecated BoxSeparator widget
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 13 Mar 2019 13:36:38 +0100] rev 12501
Flake8 cubicweb/web/box.py
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Mar 2019 14:38:55 +0100] rev 12500
[test] Remove upper bound for cubicweb-localperms
Version 0.4.0 does not use a deprecated API that we are planning to drop
in forthcoming changesets.
This requires changing expected values in unittest_cwconfig.py where we
scan install cubes.
* In CubicWebConfigurationTC.test_available_cubes(), localperms
disappears from the list of expected cubes because this test method
will look for new style cubes in located in cubicweb/test/data/libpython/
(we patch pkg_resources.iter_entry_points()) as well as old style
cubes installed in $PREFIX/share/cubicweb/cubes; since the new
cubicweb-localperms version is new-style, it won't be catched by this
method.
* In CubicWebConfigurationWithLegacyCubesTC.test_available_cubes(),
localperms is still listed, but now with the package name, because
this method will simply look at installed cubes whether old or new
style.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Mar 2019 16:44:53 +0100] rev 12499
[test] Make the expected value explicit in CubicWebConfigurationWithLegacyCubesTC.test_available_cubes()
This will help with the next changeset, and avoiding computation in
tests is a good thing in general.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 13 Mar 2019 17:21:27 +0100] rev 12498
[test] Inline _test_available_cubes() method in cwconfig tests
Improves readability.
Laurent Peuch <cortex@worlddomination.be> [Thu, 14 Mar 2019 09:38:20 +0100] rev 12497
[DX] adding error messages to {ResultSet,ActionsRegistry}.possible_actions
Try to make it more accessible, when we first encountered these errors
it it didn't made any sense to us.
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Tue, 12 Mar 2019 23:45:15 +0100] rev 12496
[server/querier] remove useless indirection QuerierHelper._annotate
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Tue, 12 Mar 2019 23:04:57 +0100] rev 12495
[server] remove useless indirection ExecutionPlan.sqlannotate
Simpler is better. Use directly ExecutionPlan.querier.sqlgen_annotate.
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Tue, 12 Mar 2019 23:20:50 +0100] rev 12494
[web] removed unused imports in basecomponents
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 13 Mar 2019 14:01:10 +0100] rev 12493
[test] Depends on psycopg2-binary
Avoids the following warning:
The psycopg2 wheel package will be renamed from release 2.8; in order
to keep installing from binary please use "pip install psycopg2-binary"
instead. For details see:
<http://initd.org/psycopg/docs/install.html#binary-install-from-pypi
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Mar 2019 11:40:59 +0100] rev 12492
[doc/changelog] the removal of next_tabindex produce an error not in the changelog
When one tried to migrate to 3.25, the error "class X initialization doesn't
have a settabindex argument" can happen but the word "settabindex" is not
present in the changelog which makes it hard to find to which modification this
error is related.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 11 Mar 2019 14:34:14 +0100] rev 12491
Merge with branch 3.26