From 2e5420f470be38e55ba31df6845628b099b2804c Mon Sep 17 00:00:00 2001 From: Elke Kreim <elke.kreim@hs-hannover.de> Date: Wed, 20 Feb 2019 10:34:17 +0100 Subject: [PATCH] Add event on_modified to watchassets, execute changes for js-, css-, scss-files --- hshassets/management/commands/watchassets.py | 16 ++++++++++++++++ hshassets/templates/hshassets/layout/base.html | 2 +- hshassets/utils.py | 2 +- setup.py | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/hshassets/management/commands/watchassets.py b/hshassets/management/commands/watchassets.py index 5f143bec..e07f3d35 100644 --- a/hshassets/management/commands/watchassets.py +++ b/hshassets/management/commands/watchassets.py @@ -13,6 +13,22 @@ from watchdog.observers import Observer class AssetsHandler(events.FileSystemEventHandler): + def on_modified(self, event): + app_name = utils.get_appname_from_assets_path(event.src_path) + if not event.is_directory: + logger.info("Notice modification on file {}.".format(os.path.basename(event.src_path))) + file_extension = utils.get_file_extension(event.src_path) + if file_extension == 'css': + utils.copy_and_compile_assets_css_to_static(app_name) + elif file_extension == 'js': + utils.copy_and_compile_assets_js_to_static(app_name) + elif file_extension == 'scss': + utils.build_app_css_from_scss(app_name) + else: + logger.debug("Notice modification on file {} but do nothing.".format(os.path.basename(event.src_path))) + else: + logger.debug("Notice modification on directory {} but for now I do nothing. Maybe it will be implement in future.".format(os.path.basename(event.src_path))) + def on_created(self, event): app_name = utils.get_appname_from_assets_path(event.src_path) if not event.is_directory: diff --git a/hshassets/templates/hshassets/layout/base.html b/hshassets/templates/hshassets/layout/base.html index 79874c5d..af98942d 100644 --- a/hshassets/templates/hshassets/layout/base.html +++ b/hshassets/templates/hshassets/layout/base.html @@ -9,7 +9,7 @@ {% block meta %}{% endblock %} {% block extrahead %} - <link rel="icon" href="{% static 'hshassets/img/favicon.ico' %}"> + <link rel="shortcut icon" href="{% static 'hshassets/img/favicon.ico' %}"> {% endblock %} {% block pre-style %}{% endblock %} diff --git a/hshassets/utils.py b/hshassets/utils.py index 48b451bf..a59da563 100644 --- a/hshassets/utils.py +++ b/hshassets/utils.py @@ -466,7 +466,7 @@ def build_app_css_from_scss(app_name): copy_favicon(app_name, color_scheme) -def build_assets(app_name = None): +def build_assets(app_name=None): """ This function calls all functions needed for execution. """ diff --git a/setup.py b/setup.py index a5f93009..445e7abe 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir))) setup( name='django-hshassets', - version='2.2.0', + version='2.2.1', packages=find_packages(), include_package_data=True, license='MIT License', -- GitLab