Skip to content
Snippets Groups Projects
Commit c02b72d9 authored by Dennis Ahrens's avatar Dennis Ahrens
Browse files

This should also work for watchassets, of course...

parent 2e8d5a60
Branches
Tags
1 merge request!1Support multiple scss include paths
...@@ -10,12 +10,16 @@ from watchdog.observers import Observer ...@@ -10,12 +10,16 @@ from watchdog.observers import Observer
class AssetBuildHandler(events.PatternMatchingEventHandler): 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): def on_modified(self, event):
if isinstance(event, events.FileModifiedEvent): if isinstance(event, events.FileModifiedEvent):
print('File modified: \033[35m{}\033[0m'.format(event.src_path)) print('File modified: \033[35m{}\033[0m'.format(event.src_path))
try: try:
app_name, app_directories = utils.discover_app(event.src_path) 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: except Exception as e:
print('Failed! \033[31m(✖_✖)\033[0m\n') print('Failed! \033[31m(✖_✖)\033[0m\n')
traceback.print_exc() traceback.print_exc()
...@@ -47,10 +51,12 @@ class Command(BaseCommand): ...@@ -47,10 +51,12 @@ class Command(BaseCommand):
observer = Observer() observer = Observer()
build_handler = AssetBuildHandler(patterns=['*.js', '*.sass', '*.scss', '*.css']) asset_directories = utils.get_asset_directories()
image_handler = ImageHandler(patterns=['*']) 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']): if not os.path.isdir(app_directories['static_path']):
os.makedirs(app_directories['static_path']) os.makedirs(app_directories['static_path'])
......
...@@ -217,8 +217,8 @@ def do_everything(verbose=False): ...@@ -217,8 +217,8 @@ def do_everything(verbose=False):
copy_fonts(app_name, app_directories, verbose=verbose) 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')): 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')): elif file_path.endswith(('.js')):
build_javascript(app_name, app_directories) build_javascript(app_name, app_directories)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment