From c02b72d9ea466e0b1dc221ba4a8b35f17ad593f9 Mon Sep 17 00:00:00 2001
From: Dennis Ahrens <dennis.ahrens@hs-hannover.de>
Date: Wed, 8 Nov 2017 17:31:52 +0100
Subject: [PATCH] This should also work for watchassets, of course...
---
hshassets/management/commands/watchassets.py | 14 ++++++++++----
hshassets/utils.py | 4 ++--
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/hshassets/management/commands/watchassets.py b/hshassets/management/commands/watchassets.py
index 8ab82aa1..5d745531 100644
--- a/hshassets/management/commands/watchassets.py
+++ b/hshassets/management/commands/watchassets.py
@@ -10,12 +10,16 @@ from watchdog.observers import Observer
class AssetBuildHandler(events.PatternMatchingEventHandler):
+ def __init__(self, scss_include_paths, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.scss_include_paths = scss_include_paths
+
def on_modified(self, event):
if isinstance(event, events.FileModifiedEvent):
print('File modified: \033[35m{}\033[0m'.format(event.src_path))
try:
app_name, app_directories = utils.discover_app(event.src_path)
- utils.build_specific(app_name, app_directories, event.src_path)
+ utils.build_specific(app_name, app_directories, event.src_path, self.scss_include_paths)
except Exception as e:
print('Failed! \033[31m(✖_✖)\033[0m\n')
traceback.print_exc()
@@ -47,10 +51,12 @@ class Command(BaseCommand):
observer = Observer()
- build_handler = AssetBuildHandler(patterns=['*.js', '*.sass', '*.scss', '*.css'])
- image_handler = ImageHandler(patterns=['*'])
+ asset_directories = utils.get_asset_directories()
+ scss_include_paths = utils.get_scss_include_paths(asset_directories)
- for app_name, app_directories in utils.get_asset_directories().items():
+ build_handler = AssetBuildHandler(scss_include_paths, patterns=['*.js', '*.sass', '*.scss', '*.css'])
+ image_handler = ImageHandler(patterns=['*'])
+ for app_name, app_directories in asset_directories.items():
if not os.path.isdir(app_directories['static_path']):
os.makedirs(app_directories['static_path'])
diff --git a/hshassets/utils.py b/hshassets/utils.py
index a186301c..3ef9a375 100644
--- a/hshassets/utils.py
+++ b/hshassets/utils.py
@@ -217,8 +217,8 @@ def do_everything(verbose=False):
copy_fonts(app_name, app_directories, verbose=verbose)
-def build_specific(app_name, app_directories, file_path):
+def build_specific(app_name, app_directories, file_path, scss_include_paths):
if file_path.endswith(('.sass', '.scss', '.css')):
- build_scss(app_name, app_directories)
+ build_scss(app_name, app_directories, scss_include_paths)
elif file_path.endswith(('.js')):
build_javascript(app_name, app_directories)
--
GitLab