coins-demo/todo/defaults.py
2019-04-11 23:51:38 -07:00

24 lines
781 B
Python

# If a documented django-todo option is NOT configured in settings, use these values.
from django.conf import settings
hash = {
"TODO_ALLOW_FILE_ATTACHMENTS": True,
"TODO_COMMENT_CLASSES": [],
"TODO_DEFAULT_ASSIGNEE": None,
"TODO_LIMIT_FILE_ATTACHMENTS": [".jpg", ".gif", ".png", ".csv", ".pdf", ".zip"],
"TODO_MAXIMUM_ATTACHMENT_SIZE": 5000000,
"TODO_PUBLIC_SUBMIT_REDIRECT": "/",
"TODO_STAFF_ONLY": True,
}
# These intentionally have no defaults (user MUST set a value):
# TODO_DEFAULT_LIST_SLUG
# TODO_MAIL_BACKENDS
# TODO_MAIL_TRACKERS
def defaults(key: str):
"""Try to get a setting from project settings.
If empty or doesn't exist, fall back to a value from defaults hash."""
return getattr(settings, key, False) or hash.get(key)