2017-01-16 20:15:46 +00:00
|
|
|
# Django library.
|
2014-11-01 21:02:31 +00:00
|
|
|
from django.conf import settings
|
2019-12-26 19:30:25 +00:00
|
|
|
from django.utils.translation import gettext_lazy as _
|
2017-03-12 20:29:15 +00:00
|
|
|
from django.core.exceptions import ImproperlyConfigured
|
2014-11-01 21:02:31 +00:00
|
|
|
|
2016-02-12 13:01:59 +00:00
|
|
|
|
2017-01-16 20:15:46 +00:00
|
|
|
# Constants
|
|
|
|
|
# ------------------------------------------------------------------
|
|
|
|
|
|
2017-03-12 20:29:15 +00:00
|
|
|
FIFTY_MEGABYTES = 50 * 1024 * 1024
|
|
|
|
|
VALID_CONTENT_TYPES = 'image/jpeg', 'image/png', 'image/svg+xml'
|
|
|
|
|
NINETY_DPI = 90
|
|
|
|
|
IM_WIDTH = 500
|
|
|
|
|
IM_HEIGHT = 500
|
2017-03-19 17:19:28 +00:00
|
|
|
LATENCY = 500
|
2017-01-16 20:15:46 +00:00
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
2017-03-12 20:29:15 +00:00
|
|
|
def _mdx(var, default):
|
2017-01-16 20:15:46 +00:00
|
|
|
"""
|
|
|
|
|
Adds "MARXDOWX_" to the requested variable and retrieves its value
|
2017-03-12 20:29:15 +00:00
|
|
|
from settings or returns the default.
|
2017-01-16 20:15:46 +00:00
|
|
|
|
|
|
|
|
:param var: Variable to be retrieved.
|
|
|
|
|
:type var: str
|
|
|
|
|
:param default: Default value if the variable is not defined.
|
|
|
|
|
:return: Value corresponding to 'var'.
|
|
|
|
|
"""
|
2017-03-12 20:29:15 +00:00
|
|
|
try:
|
|
|
|
|
return getattr(settings, 'MARKDOWNX_' + var, default)
|
|
|
|
|
except ImproperlyConfigured:
|
|
|
|
|
# To handle the auto-generation of documentations.
|
|
|
|
|
return default
|
2017-01-16 20:15:46 +00:00
|
|
|
|
|
|
|
|
|
2016-02-12 13:01:59 +00:00
|
|
|
# Markdownify
|
2017-03-12 20:29:15 +00:00
|
|
|
# --------------------
|
|
|
|
|
MARKDOWNX_MARKDOWNIFY_FUNCTION = _mdx('MARKDOWNIFY_FUNCTION', 'markdownx.utils.markdownify')
|
2017-01-16 20:15:46 +00:00
|
|
|
|
2017-03-19 17:19:28 +00:00
|
|
|
MARKDOWNX_SERVER_CALL_LATENCY = _mdx('SERVER_CALL_LATENCY', LATENCY)
|
|
|
|
|
|
2016-02-12 13:01:59 +00:00
|
|
|
|
2015-09-06 07:41:45 +00:00
|
|
|
# Markdown extensions
|
2017-01-16 20:15:46 +00:00
|
|
|
# --------------------
|
2017-03-12 20:29:15 +00:00
|
|
|
MARKDOWNX_MARKDOWN_EXTENSIONS = _mdx('MARKDOWN_EXTENSIONS', list())
|
2017-01-16 20:15:46 +00:00
|
|
|
|
2017-03-12 20:29:15 +00:00
|
|
|
MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS = _mdx('MARKDOWN_EXTENSION_CONFIGS', dict())
|
2017-01-16 20:15:46 +00:00
|
|
|
|
2014-11-12 15:04:21 +00:00
|
|
|
|
2016-02-12 13:18:11 +00:00
|
|
|
# Markdown urls
|
2017-03-12 20:29:15 +00:00
|
|
|
# --------------------
|
|
|
|
|
MARKDOWNX_URLS_PATH = _mdx('URLS_PATH', '/markdownx/markdownify/')
|
2017-01-16 20:15:46 +00:00
|
|
|
|
2017-03-12 20:29:15 +00:00
|
|
|
MARKDOWNX_UPLOAD_URLS_PATH = _mdx('UPLOAD_URLS_PATH', '/markdownx/upload/')
|
2017-01-16 20:15:46 +00:00
|
|
|
|
2015-10-13 15:34:31 +00:00
|
|
|
|
2015-09-06 07:41:45 +00:00
|
|
|
# Media path
|
2017-03-12 20:29:15 +00:00
|
|
|
# --------------------
|
|
|
|
|
MARKDOWNX_MEDIA_PATH = _mdx('MEDIA_PATH', 'markdownx/')
|
2017-01-16 20:15:46 +00:00
|
|
|
|
2014-11-01 21:02:31 +00:00
|
|
|
|
2015-09-06 07:41:45 +00:00
|
|
|
# Image
|
2017-03-12 20:29:15 +00:00
|
|
|
# --------------------
|
|
|
|
|
MARKDOWNX_UPLOAD_MAX_SIZE = _mdx('UPLOAD_MAX_SIZE', FIFTY_MEGABYTES)
|
2017-01-16 20:15:46 +00:00
|
|
|
|
2017-03-12 20:29:15 +00:00
|
|
|
MARKDOWNX_UPLOAD_CONTENT_TYPES = _mdx('UPLOAD_CONTENT_TYPES', VALID_CONTENT_TYPES)
|
2017-01-16 20:15:46 +00:00
|
|
|
|
2017-03-12 20:29:15 +00:00
|
|
|
MARKDOWNX_IMAGE_MAX_SIZE = _mdx('IMAGE_MAX_SIZE', dict(size=(IM_WIDTH, IM_HEIGHT), quality=NINETY_DPI))
|
|
|
|
|
|
|
|
|
|
MARKDOWNX_SVG_JAVASCRIPT_PROTECTION = True
|
2017-01-16 20:15:46 +00:00
|
|
|
|
2014-11-01 21:02:31 +00:00
|
|
|
|
2015-09-06 07:41:45 +00:00
|
|
|
# Editor
|
2017-03-12 20:29:15 +00:00
|
|
|
# --------------------
|
|
|
|
|
MARKDOWNX_EDITOR_RESIZABLE = _mdx('EDITOR_RESIZABLE', True)
|
2015-09-06 07:41:45 +00:00
|
|
|
|
2017-01-16 20:15:46 +00:00
|
|
|
|
|
|
|
|
# ------------------------------------------------
|
2015-09-06 07:41:45 +00:00
|
|
|
# Translations
|
2017-01-16 20:15:46 +00:00
|
|
|
# ------------------------------------------------
|
|
|
|
|
# This is not called using `_from_settings` as
|
|
|
|
|
# it does not need "_MARKDOWNX" prefix.
|
2017-03-12 20:29:15 +00:00
|
|
|
try:
|
|
|
|
|
LANGUAGES = getattr(
|
|
|
|
|
settings,
|
|
|
|
|
'LANGUAGES',
|
|
|
|
|
(
|
|
|
|
|
('en', _('English')),
|
|
|
|
|
('pl', _('Polish')),
|
2017-03-19 17:19:28 +00:00
|
|
|
('de', _('German')),
|
|
|
|
|
('fr', _('French')),
|
|
|
|
|
('fa', _('Persian')),
|
|
|
|
|
('du', _('Dutch'))
|
2017-03-12 20:29:15 +00:00
|
|
|
)
|
2017-01-16 20:15:46 +00:00
|
|
|
)
|
2017-03-12 20:29:15 +00:00
|
|
|
except ImproperlyConfigured:
|
|
|
|
|
# To handle the auto-generation of documentations.
|
|
|
|
|
pass
|