1import os
2
3from django.conf import settings
4from django.core.exceptions import AppRegistryNotReady
5
6DEFAULT_CONFIG = getattr(
7    settings,
8    "TINYMCE_DEFAULT_CONFIG",
9    {
10        "theme": "silver",
11        "height": 500,
12        "menubar": False,
13        "plugins": "advlist,autolink,lists,link,image,charmap,print,preview,anchor,"
14        "searchreplace,visualblocks,code,fullscreen,insertdatetime,media,table,paste,"
15        "code,help,wordcount",
16        "toolbar": "undo redo | formatselect | "
17        "bold italic backcolor | alignleft aligncenter "
18        "alignright alignjustify | bullist numlist outdent indent | "
19        "removeformat | help",
20    },
21)
22
23USE_SPELLCHECKER = getattr(settings, "TINYMCE_SPELLCHECKER", False)
24
25USE_COMPRESSOR = getattr(settings, "TINYMCE_COMPRESSOR", False)
26
27USE_EXTRA_MEDIA = getattr(settings, "TINYMCE_EXTRA_MEDIA", None)
28
29USE_FILEBROWSER = getattr(
30    settings, "TINYMCE_FILEBROWSER", "filebrowser" in settings.INSTALLED_APPS
31)
32
33JS_URL = getattr(
34    settings,
35    "TINYMCE_JS_URL",
36    os.path.join(settings.STATIC_URL, "tinymce/tinymce.min.js"),
37)
38try:
39    from django.contrib.staticfiles import finders
40
41    JS_ROOT = getattr(settings, "TINYMCE_JS_ROOT", finders.find("tinymce", all=False))
42except AppRegistryNotReady:
43    JS_ROOT = getattr(settings, "TINYMCE_JS_ROOT", os.path.join(settings.STATIC_ROOT, "tinymce"))
44
45JS_BASE_URL = JS_URL[: JS_URL.rfind("/")]
46