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