78 lines
2.1 KiB
Python
78 lines
2.1 KiB
Python
from plone.app.discussion.interfaces import _
|
|
from zope.schema.vocabulary import SimpleTerm
|
|
from zope.schema.vocabulary import SimpleVocabulary
|
|
|
|
|
|
HAS_CAPTCHA = False
|
|
try:
|
|
import plone.formwidget.captcha # noqa
|
|
|
|
HAS_CAPTCHA = True # pragma: no cover
|
|
except ImportError:
|
|
pass
|
|
|
|
HAS_RECAPTCHA = False
|
|
try:
|
|
import plone.formwidget.recaptcha # noqa
|
|
|
|
HAS_RECAPTCHA = True # pragma: no cover
|
|
except ImportError:
|
|
pass
|
|
|
|
HAS_AKISMET = False
|
|
try:
|
|
import collective.akismet # noqa
|
|
|
|
HAS_AKISMET = True # pragma: no cover
|
|
except ImportError:
|
|
pass
|
|
|
|
HAS_NOROBOTS = False
|
|
try:
|
|
import collective.z3cform.norobots # noqa
|
|
|
|
HAS_NOROBOTS = True # pragma: no cover
|
|
except ImportError:
|
|
pass
|
|
|
|
|
|
def captcha_vocabulary(context):
|
|
"""Vocabulary with all available captcha implementations."""
|
|
terms = []
|
|
terms.append(SimpleTerm(value="disabled", token="disabled", title=_("Disabled")))
|
|
|
|
if HAS_CAPTCHA: # pragma: no cover
|
|
terms.append(SimpleTerm(value="captcha", token="captcha", title="Captcha"))
|
|
|
|
if HAS_RECAPTCHA: # pragma: no cover
|
|
terms.append(
|
|
SimpleTerm(value="recaptcha", token="recaptcha", title="ReCaptcha")
|
|
)
|
|
|
|
if HAS_AKISMET: # pragma: no cover
|
|
terms.append(SimpleTerm(value="akismet", token="akismet", title="Akismet"))
|
|
|
|
if HAS_NOROBOTS: # pragma: no cover
|
|
terms.append(SimpleTerm(value="norobots", token="norobots", title="Norobots"))
|
|
return SimpleVocabulary(terms)
|
|
|
|
|
|
def text_transform_vocabulary(context):
|
|
"""Vocabulary with all available portal_transform transformations."""
|
|
terms = []
|
|
terms.append(SimpleTerm(value="text/plain", token="text/plain", title="Plain text"))
|
|
terms.append(SimpleTerm(value="text/html", token="text/html", title="HTML"))
|
|
terms.append(
|
|
SimpleTerm(
|
|
value="text/x-web-markdown", token="text/x-web-markdown", title="Markdown"
|
|
)
|
|
)
|
|
terms.append(
|
|
SimpleTerm(
|
|
value="text/x-web-intelligent",
|
|
token="text/x-web-intelligent",
|
|
title="Intelligent text",
|
|
)
|
|
)
|
|
return SimpleVocabulary(terms)
|