summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/narr/views.rst27
-rw-r--r--docs/zcml/view.rst24
2 files changed, 51 insertions, 0 deletions
diff --git a/docs/narr/views.rst b/docs/narr/views.rst
index eebaa63de..9b7d6b2dd 100644
--- a/docs/narr/views.rst
+++ b/docs/narr/views.rst
@@ -1358,6 +1358,33 @@ Predicate Arguments
taken into consideration when deciding whether or not to invoke the
associated view callable.
+``match_val``
+
+ This value represents :term:`URL dispatch` ``request.matchdict``
+ name or a matchdict name/value pair. ``request.matchdict`` is a
+ dictionary representing the match values from the route pattern
+ (e.g. if the route pattern has ``:foo`` in it, and the route
+ matches, a key will exist in the matchdict named ``foo``).
+
+ If ``match_val`` is specified, it must be the name of a key presumed
+ to be present in the ``matchdict`` or a ``key:regex`` pair.
+
+ If ``match_val`` is specified without a colon in it
+ (e.g. ``action``), the predicate will return true if the
+ ``matchdict`` has a key which exists with any value.
+
+ When the ``match_val`` contains a ``:`` (colon), it will be split at
+ the first colon; the left hand of that split will considered a key
+ and the right hand a regular expression. For example, in
+ ``action:\w+\.html``, the key part is ``action``, the regex part is
+ ``\w+\.html``. The resulting predicate will only be true if the
+ matchdict contains a key that matches the key part *and* the
+ matchdict value is matched by the regex part.
+
+ If ``match_val`` is not specified, the composition, presence or
+ absence of values in the matchdict is not taken into consideration
+ when deciding whether or not to invoke the associated view callable.
+
``custom_predicates``
If ``custom_predicates`` is specified, it must be a sequence of
references to custom predicate callables. Use custom predicates
diff --git a/docs/zcml/view.rst b/docs/zcml/view.rst
index d33a9a9a5..9fe63738b 100644
--- a/docs/zcml/view.rst
+++ b/docs/zcml/view.rst
@@ -224,6 +224,30 @@ Predicate Attributes
.. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
+``match_val``
+
+ The ``match_val`` value represents the presence of a value in the
+ :term:`URL dispatch` structure added to the request named
+ ``matchdict``. ``matchdict`` represents the match values from the
+ route pattern (e.g. if the route pattern has ``:foo`` in it, and the
+ route matches, a key will exist in the matchdict named ``foo``). If
+ the value does not contain a colon, the entire value will be
+ considered to be the name of a matchdict key (e.g. ``action``). If
+ the value does contain a ``:`` (colon), it will be considered a
+ name/value pair (e.g. ``action:generate.html`` or
+ ``action:\w+.html``). The right hand side following the colon
+ should be a regular expression.
+
+ If the value does not contain a colon, the key specified by the name
+ must be present in the URL dispatch matchdict for this predicate to
+ be true; the value of the key is ignored. If the value does contain
+ a colon, the name implied by the right hand must be present in the
+ matchdict *and* the regular expression specified on the right hand
+ side of the colon must match the value for the name in the matchdict
+ for this predicate to be true.
+
+ .. note:: This feature is new as of :mod:`repoze.bfg` 1.3.
+
``custom_predicates``
This value should be a sequence of references to custom predicate
callables (e.g. ``dotted.name.one dotted.name.two``, if used in