equal
deleted
inserted
replaced
12 |
12 |
13 __docformat__ = 'restructuredtext' |
13 __docformat__ = 'restructuredtext' |
14 |
14 |
15 |
15 |
16 # import standard library |
16 # import standard library |
|
17 import re |
17 |
18 |
18 # import interfaces |
19 # import interfaces |
19 from zope.annotation.interfaces import IAttributeAnnotatable |
20 from zope.annotation.interfaces import IAttributeAnnotatable |
20 from zope.container.interfaces import IContainer |
21 from zope.container.interfaces import IContainer |
21 |
22 |
22 # import packages |
23 # import packages |
23 from pyams_i18n.schema import I18nTextLineField, I18nTextField |
24 from pyams_i18n.schema import I18nTextLineField, I18nTextField |
24 from pyams_sequence.schema import InternalReference |
25 from pyams_sequence.schema import InternalReference |
25 from pyams_utils.schema import PersistentList |
26 from pyams_utils.schema import PersistentList |
26 from zope.container.constraints import containers, contains |
27 from zope.container.constraints import containers, contains |
27 from zope.interface import Interface, Attribute |
28 from zope.interface import Interface |
28 from zope.schema import Choice, TextLine |
29 from zope.schema import Choice, TextLine |
29 |
30 |
30 from pyams_content import _ |
31 from pyams_content import _ |
31 |
32 |
32 |
33 |
78 description=_("Language used in this remote resource"), |
79 description=_("Language used in this remote resource"), |
79 vocabulary='PyAMS base languages', |
80 vocabulary='PyAMS base languages', |
80 required=False) |
81 required=False) |
81 |
82 |
82 |
83 |
|
84 EMAIL_REGEX = re.compile("[^@]+@[^@]+\.[^@]+") |
|
85 |
|
86 |
|
87 class IMailtoLink(IBaseLink): |
|
88 """Mailto link interface""" |
|
89 |
|
90 address = TextLine(title=_("Target address"), |
|
91 description=_("Target email address"), |
|
92 constraint=EMAIL_REGEX.match, |
|
93 required=True) |
|
94 |
|
95 |
83 class ILinkContainer(IContainer): |
96 class ILinkContainer(IContainer): |
84 """Links container""" |
97 """Links container""" |
85 |
98 |
86 contains(IBaseLink) |
99 contains(IBaseLink) |
87 |
100 |