author | Sylvain Thénault <sylvain.thenault@logilab.fr> |
Fri, 27 Jan 2017 15:53:15 +0100 | |
changeset 11930 | 83a921bae21c |
parent 11631 | faf279e33298 |
child 11967 | 83739be20fab |
permissions | -rw-r--r-- |
11600
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
1 |
"""Contains predicates used in Pyramid views. |
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
2 |
""" |
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
3 |
|
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
4 |
|
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
5 |
class MatchIsETypePredicate(object): |
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
6 |
"""A predicate that match if a given etype exist in schema. |
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
7 |
""" |
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
8 |
def __init__(self, matchname, config): |
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
9 |
self.matchname = matchname |
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
10 |
|
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
11 |
def text(self): |
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
12 |
return 'match_is_etype = %s' % self.matchname |
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
13 |
|
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
14 |
phash = text |
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
15 |
|
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
16 |
def __call__(self, info, request): |
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
17 |
return info['match'][self.matchname].lower() in \ |
473754eac7c1
[refactoring] Move MatchIsETypePredicate to a separate module
Rabah Meradi <rabah.meradi@logilab.fr>
parents:
diff
changeset
|
18 |
request.registry['cubicweb.registry'].case_insensitive_etypes |
11601
23a62d151382
Register predicates from the predicates module
Christophe de Vienne <cdevienne@gmail.com>
parents:
11600
diff
changeset
|
19 |
|
23a62d151382
Register predicates from the predicates module
Christophe de Vienne <cdevienne@gmail.com>
parents:
11600
diff
changeset
|
20 |
|
23a62d151382
Register predicates from the predicates module
Christophe de Vienne <cdevienne@gmail.com>
parents:
11600
diff
changeset
|
21 |
def includeme(config): |
23a62d151382
Register predicates from the predicates module
Christophe de Vienne <cdevienne@gmail.com>
parents:
11600
diff
changeset
|
22 |
config.add_route_predicate('match_is_etype', MatchIsETypePredicate) |