diff piecrust/serving/middlewares.py @ 852:4850f8c21b6e

core: Start of the big refactor for PieCrust 3.0. * Everything is a `ContentSource`, including assets directories. * Most content sources are subclasses of the base file-system source. * A source is processed by a "pipeline", and there are 2 built-in pipelines, one for assets and one for pages. The asset pipeline is vaguely functional, but the page pipeline is completely broken right now. * Rewrite the baking process as just running appropriate pipelines on each content item. This should allow for better parallelization.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 17 May 2017 00:11:48 -0700
parents c2ea75e37540
children f070a4fc033c
line wrap: on
line diff
--- a/piecrust/serving/middlewares.py	Sat Apr 29 21:42:22 2017 -0700
+++ b/piecrust/serving/middlewares.py	Wed May 17 00:11:48 2017 -0700
@@ -4,12 +4,12 @@
 from werkzeug.wsgi import ClosingIterator
 from piecrust import RESOURCES_DIR, CACHE_DIR
 from piecrust.data.builder import (
-        DataBuildingContext, build_page_data)
+    DataBuildingContext, build_page_data)
 from piecrust.data.debug import build_var_debug_info
+from piecrust.page import PageNotFoundError
 from piecrust.routing import RouteNotFoundError
 from piecrust.serving.util import (
-        make_wrapped_file_response, get_requested_page, get_app_for_server)
-from piecrust.sources.pageref import PageNotFoundError
+    make_wrapped_file_response, get_requested_page, get_app_for_server)
 
 
 class StaticResourcesMiddleware(object):
@@ -29,7 +29,7 @@
             full_path = os.path.join(mount, rel_req_path)
             try:
                 response = make_wrapped_file_response(
-                        environ, request, full_path)
+                    environ, request, full_path)
                 return response(environ, start_response)
             except OSError:
                 pass
@@ -47,11 +47,11 @@
         self.run_sse_check = run_sse_check
         self._proc_loop = None
         self._out_dir = os.path.join(
-                appfactory.root_dir, CACHE_DIR, appfactory.cache_key, 'server')
+            appfactory.root_dir, CACHE_DIR, appfactory.cache_key, 'server')
         self._handlers = {
-                'debug_info': self._getDebugInfo,
-                'werkzeug_shutdown': self._shutdownWerkzeug,
-                'pipeline_status': self._startSSEProvider}
+            'debug_info': self._getDebugInfo,
+            'werkzeug_shutdown': self._shutdownWerkzeug,
+            'pipeline_status': self._startSSEProvider}
 
         if not self.run_sse_check or self.run_sse_check():
             # When using a server with code reloading, some implementations
@@ -111,15 +111,15 @@
 
     def _startSSEProvider(self, request, start_response):
         from piecrust.serving.procloop import (
-                PipelineStatusServerSentEventProducer)
+            PipelineStatusServerSentEventProducer)
         provider = PipelineStatusServerSentEventProducer(
-                self._proc_loop)
+            self._proc_loop)
         it = provider.run()
         response = Response(it, mimetype='text/event-stream')
         response.headers['Cache-Control'] = 'no-cache'
         response.headers['Last-Event-ID'] = \
             self._proc_loop.last_status_id
         return ClosingIterator(
-                response(request.environ, start_response),
-                [provider.close])
+            response(request.environ, start_response),
+            [provider.close])