zulip/zerver/finders.py

25 lines
910 B
Python

import re
from django.contrib.staticfiles.finders import FileSystemFinder
class ExcludeUnminifiedMixin(object):
""" Excludes unminified copies of our JavaScript code, templates
and stylesheets, so that these sources don't end up getting served
in production. """
def list(self, ignore_patterns):
# We can't use ignore_patterns because the patterns are
# applied to just the file part, not the entire path
excluded = '^(js|styles|templates)/'
# source-map/ should also not be included.
# However, we work around that by moving it later,
# in tools/update-prod-static.
super_class = super(ExcludeUnminifiedMixin, self)
for path, storage in super_class.list(ignore_patterns):
if not re.search(excluded, path):
yield path, storage
class ZulipFinder(ExcludeUnminifiedMixin, FileSystemFinder):
pass