Esempio n. 1
0
    def __init__(self, pod, debug=False):
        logging.warn('WARNING: Using experimental routing')

        self.pod = pod
        self.pod.render_pool.pool_size = 1
        self.debug = debug
        self.routes = self.pod.router.routes

        self.routes.add(
            '/_grow/ui/tools/:tool',
            router.RouteInfo('console', {
                'handler': serve_ui_tool_reroute,
            }))
        self.routes.add(
            '/_grow',
            router.RouteInfo('console', {
                'handler': serve_console_reroute,
            }))

        # Trigger the dev handler hook.
        self.pod.extensions_controller.trigger('dev_handler',
                                               self.pod,
                                               self.routes,
                                               debug=debug)

        # Start off the server with a clean dependency graph.
        self.pod.podcache.dependency_graph.mark_clean()
Esempio n. 2
0
    def test_render_factory(self):
        """Test that the kinds correspond to the correct classes."""

        # Document
        route_info = router.RouteInfo('doc')
        controller = render_controller.RenderController.from_route_info(
            self.pod, '/', route_info)
        self.assertIsInstance(controller,
                              render_controller.RenderDocumentController)

        # Static Document
        route_info = router.RouteInfo('static')
        controller = render_controller.RenderController.from_route_info(
            self.pod, '/', route_info)
        self.assertIsInstance(controller,
                              render_controller.RenderStaticDocumentController)

        # Sitemap
        route_info = router.RouteInfo('sitemap')
        controller = render_controller.RenderController.from_route_info(
            self.pod, '/', route_info)
        self.assertIsInstance(controller,
                              render_controller.RenderSitemapController)

        # Random Unknown Kind
        route_info = router.RouteInfo('random')
        with self.assertRaises(render_controller.UnknownKindError):
            controller = render_controller.RenderController.from_route_info(
                self.pod, '/', route_info)
Esempio n. 3
0
    def trigger(self, previous_result, routes, host='localhost', port=8080, *_args, **_kwargs):
        """Execute dev handler modification."""
        routes.add('/_grow/api/editor/*path', grow_router.RouteInfo('console', meta={
            'handler': editor_api.serve_api,
        }))

        editor_meta = {
            'handler': handlers.serve_editor,
            'meta': {
                'app': {
                    'host': host,
                    'port': port,
                },
            },
        }
        routes.add(
            '/_grow/editor/*path',
            grow_router.RouteInfo('console', meta=editor_meta))
        routes.add(
            '/_grow/editor',
            grow_router.RouteInfo('console', meta=editor_meta))

        preview_meta = {
            'handler': handlers.serve_preview_server,
            'meta': {
                'app': {
                    'host': host,
                    'port': port,
                },
            },
        }
        routes.add(
            '/preview.json',
            grow_router.RouteInfo('console', meta=preview_meta))
Esempio n. 4
0
 def trigger(self, previous_result, routes, *_args, **_kwargs):
     """Execute dev handler modification."""
     routes.add('/_grow/routes', grow_router.RouteInfo('console', {
         'handler': RoutesDevHandlerHook.serve_routes_concrete,
     }))
     routes.add('/_grow/routes/concrete', grow_router.RouteInfo('console', {
         'handler': RoutesDevHandlerHook.serve_routes_concrete,
     }))
     routes.add('/_grow/routes/abstract', grow_router.RouteInfo('console', {
         'handler': RoutesDevHandlerHook.serve_routes_abstract,
     }))
Esempio n. 5
0
    def trigger(self,
                previous_result,
                routes,
                host='localhost',
                port=8080,
                *_args,
                **_kwargs):
        """Execute dev handler modification."""
        routes.add(
            '/_grow/api/editor/*path',
            grow_router.RouteInfo('console',
                                  meta={
                                      'handler': editor_api.serve_api,
                                  }))

        editor_meta = {
            'handler': handlers.serve_editor,
            'meta': {
                'app': {
                    'host': host,
                    'port': port,
                },
            },
        }
        routes.add('/_grow/editor/*path',
                   grow_router.RouteInfo('console', meta=editor_meta))
        routes.add('/_grow/editor',
                   grow_router.RouteInfo('console', meta=editor_meta))

        partial_meta = {
            'handler': handlers.serve_partial,
            'meta': {
                'app': {
                    'host': host,
                    'port': port,
                },
            },
        }

        routes.add('/_grow/screenshot/partial/:partial/:key/',
                   grow_router.RouteInfo('console', meta=partial_meta))

        template_meta = {
            'handler': handlers.serve_template,
            'meta': {
                'app': {
                    'host': host,
                    'port': port,
                },
            },
        }
        routes.add('/_grow/screenshot/template/*collection',
                   grow_router.RouteInfo('console', meta=template_meta))
Esempio n. 6
0
    def trigger(self, previous_result, routes, *_args, **_kwargs):
        """Execute dev handler modification."""
        routes.add('/_grow/ui/tools/:tool', grow_router.RouteInfo(
            'console', meta={
                'handler': handlers.serve_ui_tool,
            }))
        editor_meta = {
            'handler': handlers.serve_editor,
            'meta': {
                'app': self,
            },
        }
        routes.add('/_grow/editor/*path',
                   grow_router.RouteInfo('console', meta=editor_meta))
        routes.add('/_grow/editor',
                   grow_router.RouteInfo('console', meta=editor_meta))
        routes.add('/_grow/api/*path', grow_router.RouteInfo('console', meta={
            'handler': api.serve_api,
        }))
        routes.add('/_grow', grow_router.RouteInfo('console', meta={
            'handler': handlers.serve_console,
        }))

        routes.add('/_grow/routes', grow_router.RouteInfo(
            'console', meta={
                'handler': RoutesDevHandlerHook.serve_routes_concrete,
            }))
        routes.add('/_grow/routes/concrete', grow_router.RouteInfo(
            'console', meta={
                'handler': RoutesDevHandlerHook.serve_routes_concrete,
            }))
        routes.add('/_grow/routes/abstract', grow_router.RouteInfo(
            'console', meta={
                'handler': RoutesDevHandlerHook.serve_routes_abstract,
            }))
Esempio n. 7
0
 def trigger(self, _result, pod, routes, *_args, **_kwargs):
     """Execute dev handler modification."""
     routes.add(
         '/_grow/routes',
         router.RouteInfo('console', {
             'handler': RoutesDevHandlerHook.serve_routes,
         }))
Esempio n. 8
0
    def __init__(self, pod, host, port, debug=False):
        logging.warn(
            'NOTICE: Using new routing, use --old-routing to use the older routing.'
        )

        self.pod = pod
        self.host = host
        self.port = port
        self.pod.render_pool.pool_size = 1
        self.debug = debug
        self.routes = self.pod.router.routes

        self.routes.add(
            '/_grow/ui/tools/:tool',
            router.RouteInfo('console', {
                'handler': serve_ui_tool_reroute,
            }))
        editor_meta = {
            'handler': serve_editor_reroute,
            'meta': {
                'app': self,
            },
        }
        self.routes.add('/_grow/editor/*path',
                        router.RouteInfo('console', editor_meta))
        self.routes.add('/_grow/editor',
                        router.RouteInfo('console', editor_meta))
        self.routes.add(
            '/_grow/api/*path',
            router.RouteInfo('console', {
                'handler': api.serve_api,
            }))
        self.routes.add(
            '/_grow',
            router.RouteInfo('console', {
                'handler': serve_console_reroute,
            }))

        # Trigger the dev handler hook.
        self.pod.extensions_controller.trigger('dev_handler',
                                               self.routes,
                                               debug=debug)

        # Start off the server with a clean dependency graph.
        self.pod.podcache.dependency_graph.mark_clean()