From c32cfe2df46426dcbdb7e21636297fb6238a35b9 Mon Sep 17 00:00:00 2001 From: Artyom Vancyan Date: Mon, 13 Mar 2023 15:35:04 +0400 Subject: [PATCH] GH-8: Download and cache the assets on run --- setup.py | 8 -------- src/django_mermaid/apps.py | 12 ++++++++++++ 2 files changed, 12 insertions(+), 8 deletions(-) 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"))