[hooks selection optimization] prune hooks when multiple entities are concerned by a hm.call_hooks() (closes: #1672022)
the idea is to make a first pass over all the hooks in the registry and to mark
put some of them in a disabled list. The disabled hooks are the one which:
* are disabled at the session level
* have a match_rtype or an is_instance selector which does not
match the rtype / etype of the relations / entities for
which we are calling the hooks. This works because the
repository calls the hooks grouped by rtype or by etype when
using the entities or eids_to_from keyword arguments
Only hooks with a simple selector or an AndSelector of simple
selectors (is_instance and match_rtype) are considered for disabling.
.. -*- coding: utf-8 -*-
A propos de ce site
===================
Cette application web est basée sur le système de gestion de connaissance CubicWeb de
Logilab_. CubicWeb est composé d'une base de données objet et d'un framework web. Il
permet de développer une application en définissant un ensemble d'entités et de
relations entre ces entités, ainsi que des vues présentant les données
sélectionnées depuis la base de données en utilisant un langage de requête
spécifique.
Cette application possède un schéma_ précis et peut être considérée comme un
exemple de site web sémantique, car elle n'est pas limitée à publier du HTML
mais peut également exporter les données en XML et d'autres formats.
Formats supportés: |microformats|_ - JSON_ - |rss|_ - |dublincore|_
.. |microformats| image:: /data/microformats-button.png
.. _microformats: http://microformats.org
.. _JSON: http://www.json.org/
.. |rss| image:: /data/rss-button.png
.. _rss: http://www.rssboard.org
.. |dublincore| image:: /data/dublincore-button.png
.. _dublincore: http://dublincore.org
.. _Logilab: http://www.logilab.fr/
.. _schéma: schema