view piecrust/commands/builtin/serving.py @ 96:0445a2232de7

Improvements and fixes to incremental baking. * Better handling of the render pass during page rendering. * Used sources are paired with the pass they were used in. * Proper use and invalidation of the rendered segments cache based on render passes. * The `Assetor` is also better tracking what was used in a page. * Add flags on a page to get better caching information for the debug window. * Property invalidation of the previous bake record when needed. * Better information about why pages are delayed.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 07 Sep 2014 23:48:57 -0700
parents f485ba500df3
children 50b65c700c96
line wrap: on
line source

import logging
from piecrust.serving import Server
from piecrust.commands.base import ChefCommand


logger = logging.getLogger(__name__)


class ServeCommand(ChefCommand):
    def __init__(self):
        super(ServeCommand, self).__init__()
        self.name = 'serve'
        self.description = "Runs a local web server to serve your website."

    def setupParser(self, parser, app):
        parser.add_argument('-p', '--port',
                help="The port for the web server",
                default=8080)
        parser.add_argument('-a', '--address',
                help="The host for the web server",
                default='localhost')

    def run(self, ctx):
        server = Server(
                ctx.app.root_dir,
                host=ctx.args.address,
                port=ctx.args.port,
                debug=ctx.args.debug)
        server.run()