diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/narr/views.rst | 27 | ||||
| -rw-r--r-- | docs/zcml/view.rst | 24 |
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 |
