diff options
author | Rocky Meza <rocky@fusionbox.com> | 2014-02-08 09:16:48 -0700 |
---|---|---|
committer | Rocky Meza <rocky@fusionbox.com> | 2014-02-08 09:16:48 -0700 |
commit | 2c194759c43c7bc9ba2580954dfb64e740a03e1e (patch) | |
tree | 1919f07574c9cee828b2309fada1d459a6022802 | |
parent | dc0e8a8a59520b6002eb7cbd4ab1868cfc7dd8ea (diff) | |
download | django-pyscss-2c194759c43c7bc9ba2580954dfb64e740a03e1e.tar.gz |
Added support for underscore imports.
-rw-r--r-- | django_pyscss/scss.py | 10 | ||||
-rw-r--r-- | testproject/testproject/static/css/_baz.scss | 3 | ||||
-rw-r--r-- | tests/test_scss.py | 7 |
3 files changed, 17 insertions, 3 deletions
diff --git a/django_pyscss/scss.py b/django_pyscss/scss.py index d8ad9e9..7429eba 100644 --- a/django_pyscss/scss.py +++ b/django_pyscss/scss.py @@ -1,6 +1,7 @@ from __future__ import absolute_import, unicode_literals import os +from itertools import product from django.contrib.staticfiles.storage import staticfiles_storage from django.conf import settings @@ -70,9 +71,12 @@ class DjangoScss(Scss): dirname, filename = os.path.split(path) name, ext = os.path.splitext(filename) - if not ext: - for extension in self.supported_extensions: - paths.append(os.path.join(dirname, name + extension)) + if ext: + search_exts = [ext] + else: + search_exts = self.supported_extensions + for prefix, suffix in product(('_', ''), search_exts): + paths.append(os.path.join(dirname, prefix + name + suffix)) return paths def _find_source_file(self, filename, relative_to=None): diff --git a/testproject/testproject/static/css/_baz.scss b/testproject/testproject/static/css/_baz.scss new file mode 100644 index 0000000..552bcaf --- /dev/null +++ b/testproject/testproject/static/css/_baz.scss @@ -0,0 +1,3 @@ +.baz { + color: #123456; +} diff --git a/tests/test_scss.py b/tests/test_scss.py index e7f6fbd..bc9c6ef 100644 --- a/tests/test_scss.py +++ b/tests/test_scss.py @@ -26,6 +26,9 @@ SASS_CONTENTS = """ with open(os.path.join(settings.BASE_DIR, 'testproject', 'static', 'css', 'css_file.css')) as f: CSS_CONTENTS = f.read() +with open(os.path.join(settings.BASE_DIR, 'testproject', 'static', 'css', '_baz.scss')) as f: + BAZ_CONTENTS = f.read() + class CompilerTestMixin(object): def setUp(self): @@ -77,6 +80,10 @@ class ImportTestMixin(CompilerTestMixin): actual = self.compiler.compile(scss_string='@import "/css/css_file";') self.assertEqual(clean_css(actual), clean_css(CSS_CONTENTS)) + def test_import_underscore_file(self): + actual = self.compiler.compile(scss_string='@import "/css/baz";') + self.assertEqual(clean_css(actual), clean_css(BAZ_CONTENTS)) + @override_settings(DEBUG=True) class FindersImportTest(ImportTestMixin, TestCase): |