diff options
author | Gavin Wahl <gwahl@fusionbox.com> | 2015-04-23 14:25:40 -0600 |
---|---|---|
committer | Gavin Wahl <gwahl@fusionbox.com> | 2015-04-23 14:25:40 -0600 |
commit | 9093679d3552db9f7360f0841d9d34cf97ef1ae0 (patch) | |
tree | ebfae5b13de3950727922f8a2cc63a6660c05c6e /django_pyscss/utils.py | |
parent | a91323b135f26b42eb826984968aa7dcfa8716ab (diff) | |
download | django-pyscss-9093679d3552db9f7360f0841d9d34cf97ef1ae0.tar.gz |
Files are not always available from storage despite DEBUG=False
For example, in tests. So instead of switching on DEBUG, we first try to
find a file from the finders, and then fall back to storage if that
doesn't work.
Diffstat (limited to 'django_pyscss/utils.py')
-rw-r--r-- | django_pyscss/utils.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/django_pyscss/utils.py b/django_pyscss/utils.py index 1f9e4b4..e4222c0 100644 --- a/django_pyscss/utils.py +++ b/django_pyscss/utils.py @@ -1,7 +1,6 @@ import fnmatch import os -from django.conf import settings from django.contrib.staticfiles import finders from django.contrib.staticfiles.storage import staticfiles_storage @@ -40,8 +39,10 @@ def get_file_from_finders(filename): def get_file_and_storage(filename): - # TODO: the switch probably shouldn't be on DEBUG - if settings.DEBUG: - return get_file_from_finders(filename) - else: - return get_file_from_storage(filename) + name, storage = get_file_from_finders(filename) + # get_file_from_finders could fail in production if code is a deployed as a + # package without it's package_data. In that case, we'd assume that + # collectstatic had been run and we can get the file from storage. + if storage is None: + name, storage = get_file_from_storage(filename) + return name, storage |