--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cubicweb/pyramid/predicates.py Mon Sep 26 14:52:12 2016 +0200
@@ -0,0 +1,22 @@
+"""Contains predicates used in Pyramid views.
+"""
+
+
+class MatchIsETypePredicate(object):
+ """A predicate that match if a given etype exist in schema.
+ """
+ def __init__(self, matchname, config):
+ self.matchname = matchname
+
+ def text(self):
+ return 'match_is_etype = %s' % self.matchname
+
+ phash = text
+
+ def __call__(self, info, request):
+ return info['match'][self.matchname].lower() in \
+ request.registry['cubicweb.registry'].case_insensitive_etypes
+
+
+def includeme(config):
+ config.add_route_predicate('match_is_etype', MatchIsETypePredicate)