def parse_admins(admins): """ Parse env admins to django admins. Example of DJANGO_ADMINS environment variable: Test Example <*****@*****.**>,Test2 <*****@*****.**> """ result = [] for admin in admins: match = re.search('(.+) \<(.+@.+)\>', admin) if not match: raise environ.ImproperlyConfigured( 'In DJANGO_ADMINS admin "{0}" is not in correct ' '"Firstname Lastname <*****@*****.**>"'.format(admin)) result.append((match.group(1), match.group(2))) return result
# MARKDOWN # -------- MARKDOWNX_MARKDOWNIFY_FUNCTION = "CommonMark.commonmark" MARKDOWNX_MEDIA_PATH = datetime.now().strftime("uploads/%Y/%m/%d") MARKDOWNX_IMAGE_MAX_SIZE = { "size": (2048, 0), "quality": 90, } MARKDOWNX_UPLOAD_MAX_SIZE = 20 * 1024 * 1024 # LOGGING CONFIGURATION # ------------------------------------------------------------------------------ # See: https://docs.djangoproject.com/en/dev/ref/settings/#logging log_target = env("SOCIALHOME_LOG_TARGET", default="file") if log_target not in ("file", "syslog"): raise environ.ImproperlyConfigured("If set, SOCIALHOME_LOG_TARGET must be either 'file' or 'syslog'.") LOGGING = { "version": 1, "disable_existing_loggers": True, "filters": { "require_debug_false": { "()": "django.utils.log.RequireDebugFalse" } }, "formatters": { "verbose": { "format": "%(levelname)s %(asctime)s %(module)s " "%(process)d %(thread)d %(message)s" }, },
EMAIL_CONFIG = env.email(default='dummymail://') vars().update(EMAIL_CONFIG) # Markdown deux settings MARKDOWN_DEUX_STYLES = { "default": { "extras": { "fenced-code-blocks": None, "tables": None, "header-ids": None, }, "safe_mode": "escape", }, } # Nouvelles Settings SITE_NAME = env('APP_SITE_NAME') SITE_DOMAIN = env.str('APP_SITE_DOMAIN', '') HEADLINES_DAYS = env.int('APP_SITE_HEADLINES_DAYS', 7) EMAIL_HIGH_ARTICLES = env.bool('APP_EMAIL_HIGH_ARTICLES', False) if EMAIL_HIGH_ARTICLES and not SITE_DOMAIN: raise environ.ImproperlyConfigured( "You need a SITE_DOMAIN if you want email sending.")