def _try_serve_page_asset(self, app, environ, request): if not request.path.startswith('/_asset/'): return None full_path = os.path.join(app.root_dir, request.path[len('/_asset/'):]) if not os.path.isfile(full_path): return None return make_wrapped_file_response(environ, request, full_path)
def _try_serve_page_asset(self, app, environ, request): if not request.path.startswith(self.root_url + '_asset/'): return None offset = len(self.root_url + '_asset/') full_path = os.path.join(app.root_dir, request.path[offset:]) if not os.path.isfile(full_path): return None return make_wrapped_file_response(environ, request, full_path)
def _try_serve_page_asset(self, app_root_dir, environ, request): if not request.path.startswith(self.root_url + '_asset/'): return None offset = len(self.root_url + '_asset/') full_path = os.path.join(app_root_dir, request.path[offset:]) try: return make_wrapped_file_response(environ, request, full_path) except OSError: return None
def _try_serve_asset(self, environ, request): offset = len(self.root_url) rel_req_path = request.path[offset:].replace('/', os.sep) if request.path.startswith('/_cache/'): # Some stuff needs to be served directly from the cache directory, # like LESS CSS map files. full_path = os.path.join(self.appfactory.root_dir, rel_req_path) else: full_path = os.path.join(self._out_dir, rel_req_path) try: return make_wrapped_file_response(environ, request, full_path) except OSError: return None
def __call__(self, environ, start_response): static_mount = '/__piecrust_static/' request = Request(environ) if request.path.startswith(static_mount): rel_req_path = request.path[len(static_mount):] mount = os.path.join(RESOURCES_DIR, 'server') full_path = os.path.join(mount, rel_req_path) try: response = make_wrapped_file_response( environ, request, full_path) return response(environ, start_response) except OSError: pass return self.app(environ, start_response)