Philippe Pepiot <philippe.pepiot@logilab.fr> [Fri, 15 Jun 2018 17:42:50 +0200] rev 12426
Depend on cubicweb-file >= 2.0.0
I applied V1 of the patch, but V2 contained this extra hunk...
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 11 Jun 2018 16:50:38 +0200] rev 12425
[test] Update webconfig's tests accounting for cubicweb-file being now a package
WebconfigTC.test_locate_all_files and WebconfigTC.test_locate_resource
assumed that cubicweb-file was installed in <share>/cubes/file whereas,
from the latest release, it is now a standard Python package thus
installed in site-packages as cubicweb_file. We simply update base
directory of these two tests.
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Wed, 06 Jun 2018 18:54:24 +0200] rev 12424
[widgets.js] fix obvious bug detected by sonar
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Wed, 06 Jun 2018 18:37:16 +0200] rev 12423
[views/uicfg] obvious bug detected by sonar
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 06 Jun 2018 14:20:16 +0200] rev 12422
[style] Make toolsutils.py flake8-clean
Run `autopep8 --max-line-length 100 -i cubicweb/toolsutils.py` and fixed
unused imports.
David Douard <david.douard@logilab.fr> [Tue, 24 Apr 2018 15:21:38 +0200] rev 12421
[test/rset] typo
David Douard <david.douard@logilab.fr> [Tue, 24 Apr 2018 14:04:43 +0200] rev 12420
[test/rset] flake8
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 05 Mar 2019 13:52:52 +0100] rev 12419
[py3] import configparser from six.moves instead of using a try/except
Using six is better than the try/except because it clearly indicates
compatibility code. Also, when using tools such as vermin which relies
on AST, it helps getting rid of false compatibility errors.
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:28:17 +0100] rev 12418
[doc] didn't had any questions
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:30:31 +0100] rev 12417
[doc] missing import, cw now require this explicitely
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:30:12 +0100] rev 12416
[doc] add actual link to previous post
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:29:54 +0100] rev 12415
[doc] missing import in code example
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:29:44 +0100] rev 12414
[doc] add a note because uiprops.py is not generated anymore by default
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:29:23 +0100] rev 12413
[doc] recommend pip instead of apt for installing things
According to a discussion on XMPP we should recommend pip instead.
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:28:43 +0100] rev 12412
[doc] fix, link to internal doc since it's not the blog post anymore
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:27:56 +0100] rev 12411
[doc] also show command with sqlite since it's recommended
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:26:33 +0100] rev 12410
[doc] fix, the cube name was used, it was the instance named that was needed
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:25:59 +0100] rev 12409
[doc] it's a tutorial, not a blog post anymore
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:25:44 +0100] rev 12408
[doc] make example more redable
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:25:27 +0100] rev 12407
[doc] uses :file:`name` everywhere + indicate file when it's not present
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:23:37 +0100] rev 12406
[doc] english typos
Laurent Peuch <cortex@worlddomination.be> [Tue, 26 Feb 2019 16:23:07 +0100] rev 12405
[doc] pep8/retab in code examples
Laurent Peuch <cortex@worlddomination.be> [Wed, 27 Feb 2019 13:41:34 +0100] rev 12404
[doc] correct import for i18n
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:46:39 +0100] rev 12403
[doc] pep8 and retab in tutorial code example
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 19:08:44 +0100] rev 12402
[doc] correct pip command to have needed dependancies to use the start command
I know we want to remove this command but in the meantime having this
documentation working seems like something good.
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:57:24 +0100] rev 12401
[doc] explain the difference between a relation and an attribute
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:57:05 +0100] rev 12400
[doc] plural
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:56:42 +0100] rev 12399
[doc] misc, put every reference to something in the code between backquotes
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:54:46 +0100] rev 12398
[doc] bold to make reading more obvious
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:54:23 +0100] rev 12397
[doc] style, switch to bullet points list to make things easier to read
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:53:39 +0100] rev 12396
[doc] explains what the <X.Y.Z> means
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:53:03 +0100] rev 12395
[doc] command output style has changed
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:51:36 +0100] rev 12394
[doc] always put file name for code example and uses :file:`path` syntax everywhere
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:49:24 +0100] rev 12393
[doc] explicitely give the local server url to make this step more obvious
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:48:51 +0100] rev 12392
[doc] start the server in debug mode, it's easier during learning
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:48:07 +0100] rev 12391
[doc] recommend sqlite during tutorial because it's simplier to use
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:47:35 +0100] rev 12390
[doc] add a link to every cube documentation page
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:47:03 +0100] rev 12389
[doc] make this step more obvious
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:42:29 +0100] rev 12388
[doc] move to latest CW version for cube creation
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:15:26 +0100] rev 12387
[doc] missng import for i18n in example
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 18:10:47 +0100] rev 12386
[doc] unused import in example
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 15:25:23 +0100] rev 12385
[doc] output has changed
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 15:18:09 +0100] rev 12384
[doc] blanks spaces to allow example to breath and be more lisible
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 15:16:22 +0100] rev 12383
[doc] default tests template has changed
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 15:13:45 +0100] rev 12382
[doc] default generated filename as changed
Laurent Peuch <cortex@worlddomination.be> [Thu, 21 Feb 2019 10:05:38 +0100] rev 12381
[doc] rst syntax bug, blank line needed before item list
Laurent Peuch <cortex@worlddomination.be> [Fri, 22 Feb 2019 15:16:26 +0100] rev 12380
[doc] add link to cubes contribution document
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 27 Feb 2019 13:36:31 +0100] rev 12379
Merge 3.26
Laurent Peuch <cortex@worlddomination.be> [Fri, 22 Feb 2019 15:48:34 +0100] rev 12378
[doc] link to current documentation, not old cubicweb.org doc
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 13 Feb 2019 14:40:39 +0100] rev 12377
Explicitly require repoze.lru for Pyramid tests
This used to be pulled by pyramid but the dependency got dropped in
pyramid version 1.10, see:
https://docs.pylonsproject.org/projects/pyramid/en/latest/whatsnew-1.10.html#backward-incompatibilities
We already have an explicit dependency in setup.py, but it was missing
for tests.
Perhaps we could simply use '.[pyramid]' in this requirements file? Not
sure what side effect it'd have though...
Laurent Peuch <cortex@worlddomination.be> [Wed, 13 Feb 2019 17:25:09 +0100] rev 12376
[cubicweb-ctl] make uid option obvious
Laurent Peuch <cortex@worlddomination.be> [Wed, 13 Feb 2019 17:32:41 +0100] rev 12375
[README] point to xmpp room for contributors
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Feb 2019 15:31:12 +0100] rev 12374
[doc] link to README regarding how to contribute to the code base
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Feb 2019 15:23:29 +0100] rev 12373
[README] improve contribution section with links and command examples
Laurent Peuch <cortex@worlddomination.be> [Wed, 13 Feb 2019 11:39:46 +0100] rev 12372
[README] point to logilab's jenkins in tests section
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Feb 2019 16:11:54 +0100] rev 12371
[pyramid] improve pyramid warning with link to doc on how to write pyramid.ini file
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Feb 2019 15:51:21 +0100] rev 12370
[doc] translate french to english
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Feb 2019 14:59:42 +0100] rev 12369
[doc] typo, 'CW' doesn't exist in the example
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Feb 2019 14:59:13 +0100] rev 12368
[doc] always indicate the file in which the code should be put
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Feb 2019 14:58:50 +0100] rev 12367
[doc] respect pep8 in code examples
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Feb 2019 14:58:26 +0100] rev 12366
[doc] serie a small improvments
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Feb 2019 14:55:02 +0100] rev 12365
[doc] typo, the field is "name" not "title"
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Feb 2019 14:53:48 +0100] rev 12364
[doc] fix, command "create" is missing base cube
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Feb 2019 14:48:52 +0100] rev 12363
[doc] improve blog tutorial first steps and explain common errors
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Feb 2019 14:43:45 +0100] rev 12362
[doc] how to install pyramid or twisted application server
Laurent Peuch <cortex@worlddomination.be> [Tue, 12 Feb 2019 11:38:19 +0100] rev 12361
[doc] new behavior in virtualenv since 3.26
Philippe Pepiot <philippe.pepiot@logilab.fr> [Tue, 29 Jan 2019 14:04:28 +0100] rev 12360
[skeleton] use python3 flake8
In tox "flake8" environment, use python 3 virtualenv, so we can check for
python3 incompatible syntax.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Tue, 29 Jan 2019 14:02:19 +0100] rev 12359
[skeleton] drop whitelist_externals for flake8
whitelist_externals makes sense when used with sitepackages=true.
In this case it will always rely on $VIRTUAL_ENV/bin/flake8 so, the
whitelist_externals has no effect.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Mon, 29 Oct 2018 16:39:21 +0100] rev 12358
Add changelog note for running tests with pytest-xdist
Philippe Pepiot <philippe.pepiot@logilab.fr> [Fri, 26 Oct 2018 17:12:26 +0200] rev 12357
Make test database template creation concurrent
build_db_cache() is used in tests to create test database templates, i.e.
DEFAULT_EMPTY_DB_ID (which is __default_empty_db__) and custom template
database using CubicwebTC test_db_id/pre_setup_database API.
When running tests in parallel using multiple processes, build_db_cache() may
try to build the same database twice. Avoid this by adding synchronisation of
process by using a file lock.
So when two processes require the same template database, one build the
database and others wait it to be created.
Use filelock (https://github.com/benediktschmitt/py-filelock) library to have a
portable (unix / windows) way for handling locks.
Also filelock is packaged in debian: https://packages.debian.org/source/python-filelock
Philippe Pepiot <philippe.pepiot@logilab.fr> [Fri, 26 Oct 2018 17:00:05 +0200] rev 12356
Make test database cache lookup concurrent
has_cache() is used to dertermine if the template database already exists or
not.
When running tests accross multiple process, has_cache() wasn't aware of
databases created by other processes because it used a cache to generate the
cache...
Since the discovering discover_cached_db() time is quite reasonable (it's just
about listing file in a directory), let re-generate the cache on cache miss.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Mon, 29 Oct 2018 10:04:31 +0100] rev 12355
Fix flake8 issues since release 3.6.0
Flake8 had a new release which raise new issues, namely:
W504: line break after binary operator
F841: local variable 'ex' is assigned to but never used
W605: invalid escape sequence
F821: undefined name 'buffer' (noqa seems the only way to avoid this false positive)
Also pin flake8>=3.6 in our tests and make explicit that we use python3 to run
flake8 tests.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Mon, 29 Oct 2018 10:09:19 +0100] rev 12354
Stabilize flake8 tests on 3.26 branch
Use basepython=python2 or flake8 installed with python3 will raise "[F821]
undefined name 'buffer'"
Pin flake8 < 3.6 which has new checks that doesn't pass on our current code base.
Laurent Wouters <lwouters@cenotelie.fr> [Tue, 09 Oct 2018 16:24:12 +0200] rev 12353
Fix typo in RDFS URI
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 02 Oct 2018 16:04:52 +0200] rev 12352
[doc] Do not rely on lgc's sphinx_ext
This module is broken (getting an ImportError) and I don't want to fix
it. The only usage we make of it is for the "autodocstring" directive,
and I don't know what it does.
Based on the context, replacing autodocstring with either automodule or
autoclass and removing sphinx_ext from required Sphinx extensions.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 06 Sep 2018 13:44:06 +0200] rev 12351
Added tag 3.26.7 for changeset ee4ad63c91e5
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 06 Sep 2018 13:43:56 +0200] rev 12350
[pkg] Version 3.26.7
Philippe Pepiot <philippe.pepiot@logilab.fr> [Fri, 24 Aug 2018 17:19:02 +0200] rev 12349
Fix possible double import of cubes
For a new-style cube, if we import "cubicweb_<name>" and then import
"cubes.<name>", the cube will be imported twice. cubes.<name> and then
cubicweb_name is ok though...
When using pyramid, we try to find which cube define a "includeme" by importing
them with the name "cubes.<name>", so we (possibly ?) double import all new-style cube.
This case may also occur in tests with PyramidCWTest.
Touching the import loader to fix this scares me, so let's fix this by testing
"cubicweb_<name>" *before* "cubes.name" (for old style cubes, importing
cubicweb_<name> raise ImportError).
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 22 Aug 2018 16:04:39 +0200] rev 12348
[autoform] Make RelationField.fromcardinality a class method factory
Instead of having the "RelationField" class hard-coded in this factory
method (thus preventing any subclass to properly use it), we make that
method a classmethod and instantiate the actual class instead of the
base one.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 22 Aug 2018 16:02:30 +0200] rev 12347
[autoform] Use fieldclass from kwargs in guess_field for non-final relations
This follows up on af969080e7e6 in which a "fieldclass" kwarg has been
added in EntityFieldsForm.field_by_name() before calling guess_field().
In this changeset, this value was only used for final relation but the
way non-final relation actually also changed since we also use
guess_field from these relation (previously, the field class specified
through uicfg was instantiated directly in
EntityFieldsForm.field_by_name()). So in the non-final case in
guess_field() we simply try to retrieve "fieldclass" from kwargs and
fall back to RelationField.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Thu, 16 Aug 2018 12:31:44 +0200] rev 12346
[py37] `async` is now a reserved keyword
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 18 Jul 2018 13:53:00 +0200] rev 12345
Merge 3.26
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 18 Jul 2018 13:48:13 +0200] rev 12344
Added tag 3.26.6, debian/3.26.6-1 for changeset 8362503a9248
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 18 Jul 2018 13:47:45 +0200] rev 12343
[pkg] version 3.26.6
Olivier Giorgis <olivier.giorgis@logilab.fr> [Wed, 18 Jul 2018 11:27:05 +0200] rev 12342
[py3] Replace unicode keyword which is unknown in python3
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 11 Jul 2018 09:18:57 +0200] rev 12341
[skeleton] Use "py3" as tox environment instead of "py34"
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 28 Jun 2018 18:19:08 +0200] rev 12340
Added tag 3.26.5 for changeset 76d7b0aa94d2
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 28 Jun 2018 18:18:33 +0200] rev 12339
[pkg] Version 3.26.5
Philippe Pepiot <philippe.pepiot@logilab.fr> [Thu, 28 Jun 2018 16:49:57 +0200] rev 12338
Merge with 3.26
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 28 Jun 2018 12:19:16 +0200] rev 12337
[py3] Use "utf-8" as input encoding for docutils in rest extension
Docutils says that "unicode" is an unknown encoding on Python3. Not sure
where "unicode" as an encoding comes (it's there since showtime) but
"utf-8" seems more appropriate.
From now on, rendering of CubicWeb's rst directive (e.g. ..winclude)
works on Python 3. Accordingly, we extend wdoc's test to demonstrate
this. For this we need to install docutils in tox's web environment.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 28 Jun 2018 11:19:14 +0200] rev 12336
[py3] Avoid setting attribute on Element instance in wdoc view
This change is needed to make "wdoc" view work on Python 3. Indeed,
before this patch, we used to set a "parent" attribute on Element
instances, which is not permitted since Python 3.3 as
xml.etree.ElementTree uses the C implementation by default.
To get rid of this "parent" attribute, we rework the XML nodes
processing logic to return and retrieve a node along with its parent in
several place of the code. Namely, build_toc_index() now accepts the
"parent" value for "node" and inserts it in the "index" dict (thus avoid
`node.parent = <value>`). Respectively, every query to the "index" dict
is updated to also retrieve the "parent" (thus avoiding `<value> =
node.parent`). Later in InlineHelpView class, the "index" dict is bound
to "tocindex" attribute so we adjust how it is queried in respective
methods.
Tests cubicweb/web/test/unittest_views_wdoc.py now pass on Python 3.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 28 Jun 2018 10:07:20 +0200] rev 12335
[test] Add a trivial test for "wdoc" view
We just make sure it gets rendered without errors (which wasn't the case
before the previous patch).
It does not work on Python 3; this will be fixed in next changeset.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 28 Jun 2018 10:06:26 +0200] rev 12334
[py3] Open rst file in text mode in wdoc view
Otherwise, UStringIO complains that it receives bytes.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 28 Jun 2018 11:11:10 +0200] rev 12333
[ext/rest] Drop "handle_io_errors" argument to docutils' FileInput
This argument is deprecated and ignore in docutils since version 0.10.
Besides, its default value is None which is the same as we passed.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 28 Jun 2018 10:38:04 +0200] rev 12332
[wdoc] Remove fallback about xml.etree module
Module xml.etree exists since python 2.5.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 28 Jun 2018 10:15:33 +0200] rev 12331
[wdoc] Avoid usage of deprecated xlm elementree getchildren() method
Use list(node) as suggested by the deprecation warning.