summaryrefslogtreecommitdiff
path: root/django_pyscss/utils.py
blob: 8ff5ad93453a3038282d4e6dc4b5bdb848175a8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import fnmatch
import os

from django.contrib.staticfiles import finders


def find_all_files(glob):
    """
    Finds all files in the django finders for a given glob,
    returns the file path, if available, and the django storage object.
    storage objects must implement the File storage API:
    https://docs.djangoproject.com/en/dev/ref/files/storage/
    """
    for finder in finders.get_finders():
        for path, storage in finder.list([]):
            if fnmatch.fnmatchcase(os.path.join(storage.prefix or '', path),
                                   glob):
                yield path, storage