From be4f062b8caafb88299b4047b5944d9f73dc6a3b Mon Sep 17 00:00:00 2001 From: "Eevee (Alex Munroe)" Date: Tue, 9 Dec 2014 18:28:31 -0800 Subject: Fix handling of relative imports again. --- scss/extension/core.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/scss/extension/core.py b/scss/extension/core.py index 3e8f2e8..6642f1d 100644 --- a/scss/extension/core.py +++ b/scss/extension/core.py @@ -39,22 +39,26 @@ class CoreExtension(Extension): else: search_exts = compilation.compiler.dynamic_extensions - relative_to = path.parent basename = path.stem - + relative_to = path.parent search_path = [] # tuple of (origin, start_from) if relative_to.is_absolute(): relative_to = PurePosixPath(*relative_to.parts[1:]) elif rule.source_file.origin: # Search relative to the current file first, only if not doing an # absolute import - search_path.append( - rule.source_file.origin / rule.source_file.relpath.parent) - search_path.extend(compilation.compiler.search_path) + search_path.append(( + rule.source_file.origin, + rule.source_file.relpath.parent / relative_to, + )) + search_path.extend( + (origin, relative_to) + for origin in compilation.compiler.search_path + ) for prefix, suffix in product(('_', ''), search_exts): filename = prefix + basename + suffix - for origin in search_path: + for origin, relative_to in search_path: relpath = relative_to / filename # Lexically (ignoring symlinks!) eliminate .. from the part # of the path that exists within Sass-space. pathlib -- cgit v1.2.1