The license.txt file has been replaced with LICENSE for quite a while now. INAL but it didn't seem accurate to say "hey, checkout license.txt although there's no such file". Apart from this, there were inconsistencies in the headers altogether...this change brings consistency.
26 lines
835 B
Python
26 lines
835 B
Python
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
|
# License: MIT. See LICENSE
|
|
|
|
import frappe
|
|
import os
|
|
from werkzeug.exceptions import NotFound
|
|
from werkzeug.middleware.shared_data import SharedDataMiddleware
|
|
from frappe.utils import get_site_name, cstr
|
|
|
|
|
|
class StaticDataMiddleware(SharedDataMiddleware):
|
|
def __call__(self, environ, start_response):
|
|
self.environ = environ
|
|
return super(StaticDataMiddleware, self).__call__(environ, start_response)
|
|
|
|
def get_directory_loader(self, directory):
|
|
def loader(path):
|
|
site = get_site_name(frappe.app._site or self.environ.get('HTTP_HOST'))
|
|
path = os.path.join(directory, site, 'public', 'files', cstr(path))
|
|
if os.path.isfile(path):
|
|
return os.path.basename(path), self._opener(path)
|
|
else:
|
|
raise NotFound
|
|
# return None, None
|
|
|
|
return loader
|