diff --git a/setup.py b/setup.py index b89b951..7f1a176 100644 --- a/setup.py +++ b/setup.py @@ -1,12 +1,4 @@ -from distutils import dir_util -from os.path import dirname, join -from urllib.request import urlretrieve - from setuptools import setup if __name__ == "__main__": - cdn = "https://cdnjs.cloudflare.com/ajax/libs/mermaid/9.4.3/mermaid.js" - static = join(dirname(__file__), "src", "django_mermaid", "static") - dir_util.create_tree(static, ["mermaid.js"]) - urlretrieve(cdn, join(static, "mermaid.js")) setup() diff --git a/src/django_mermaid/apps.py b/src/django_mermaid/apps.py index 3fb8ff6..e0ca921 100644 --- a/src/django_mermaid/apps.py +++ b/src/django_mermaid/apps.py @@ -1,5 +1,17 @@ +from distutils import dir_util +from os.path import dirname, join, exists +from urllib.request import urlretrieve + from django.apps import AppConfig class MermaidConfig(AppConfig): name = "django_mermaid" + + def ready(self): + """Download mermaid.js from CDN if not already present""" + cdn = "https://cdnjs.cloudflare.com/ajax/libs/mermaid/9.4.3/mermaid.js" + static = join(dirname(__file__), "static") + if not exists(join(static, "mermaid.js")): + dir_util.create_tree(static, ["mermaid.js"]) + urlretrieve(cdn, join(static, "mermaid.js"))