11 from warnings import warn |
11 from warnings import warn |
12 |
12 |
13 from logilab.mtconverter import html_escape |
13 from logilab.mtconverter import html_escape |
14 |
14 |
15 from cubicweb import NotAnEntity, NoSelectableObject |
15 from cubicweb import NotAnEntity, NoSelectableObject |
|
16 from cubicweb.selectors import (yes, match_user_groups, implements, |
|
17 nonempty_rset, none_rset) |
|
18 from cubicweb.selectors import require_group_compat, accepts_compat |
16 from cubicweb.common.registerers import accepts_registerer, priority_registerer |
19 from cubicweb.common.registerers import accepts_registerer, priority_registerer |
17 from cubicweb.common.selectors import (yes, match_user_groups, implements, |
|
18 nonempty_rset, none_rset) |
|
19 from cubicweb.common.appobject import AppRsetObject, ComponentMixIn |
20 from cubicweb.common.appobject import AppRsetObject, ComponentMixIn |
20 from cubicweb.common.utils import UStringIO, HTMLStream |
21 from cubicweb.common.utils import UStringIO, HTMLStream |
21 |
22 |
22 _ = unicode |
23 _ = unicode |
23 |
|
24 |
|
25 def require_group_compat(registered): |
|
26 def plug_selector(cls, vreg): |
|
27 cls = registered(cls, vreg) |
|
28 if getattr(cls, 'require_groups', None): |
|
29 warn('use "use match_user_groups(group1, group2)" instead of using require_groups', |
|
30 DeprecationWarning) |
|
31 cls.__selectors__ += (match_user_groups(cls.require_groups),) |
|
32 return cls |
|
33 return classmethod(plug_selector) |
|
34 |
|
35 def accepts_compat(registered): |
|
36 def plug_selector(cls, vreg): |
|
37 cls = registered(cls, vreg) |
|
38 if getattr(cls, 'accepts', None): |
|
39 warn('use "use match_user_groups(group1, group2)" instead of using require_groups', |
|
40 DeprecationWarning) |
|
41 cls.__selectors__ += (implements(*cls.accepts),) |
|
42 return cls |
|
43 return classmethod(plug_selector) |
|
44 |
24 |
45 |
25 |
46 # robots control |
26 # robots control |
47 NOINDEX = u'<meta name="ROBOTS" content="NOINDEX" />' |
27 NOINDEX = u'<meta name="ROBOTS" content="NOINDEX" />' |
48 NOFOLLOW = u'<meta name="ROBOTS" content="NOFOLLOW" />' |
28 NOFOLLOW = u'<meta name="ROBOTS" content="NOFOLLOW" />' |