diff options
author | Eevee (Alex Munroe) <eevee.git@veekun.com> | 2014-12-09 18:28:31 -0800 |
---|---|---|
committer | Eevee (Alex Munroe) <eevee.git@veekun.com> | 2014-12-09 18:28:31 -0800 |
commit | be4f062b8caafb88299b4047b5944d9f73dc6a3b (patch) | |
tree | 259f9e09dd3688c0de8859770494f729592be574 | |
parent | a5b270bb8885925ad0758489e2b80ee76e7bd302 (diff) | |
download | pyscss-be4f062b8caafb88299b4047b5944d9f73dc6a3b.tar.gz |
Fix handling of relative imports again.
-rw-r--r-- | scss/extension/core.py | 16 |
1 files 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 |