Mercurial > piecrust2
diff chef.py @ 1:aaa8fb7c8918
Re-arranged modules to reduce dependencies to builtin stuff.
Added `init` command.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 22 Dec 2013 08:00:24 -0800 |
parents | a212a3f2e3ee |
children | f485ba500df3 |
line wrap: on
line diff
--- a/chef.py Sat Dec 21 14:44:02 2013 -0800 +++ b/chef.py Sun Dec 22 08:00:24 2013 -0800 @@ -3,9 +3,9 @@ import logging import argparse from piecrust.app import PieCrust, PieCrustConfiguration, APP_VERSION -from piecrust.commands.base import CommandContext from piecrust.environment import StandardEnvironment from piecrust.pathutil import SiteNotFoundError, find_app_root +from piecrust.plugins.base import PluginLoader logger = logging.getLogger(__name__) @@ -25,7 +25,9 @@ self.theme_dir = None self.cache_dir = None self.config = PieCrustConfiguration() - self.env = StandardEnvironment(self) + self.plugin_loader = PluginLoader(self) + self.env = StandardEnvironment() + self.env.initialize(self) def main(): @@ -86,14 +88,9 @@ lambda a, b: cmp(a.name, b.name)) subparsers = parser.add_subparsers() for c in commands: - def command_runner(r): - if root is None and c.requires_website: - raise SiteNotFoundError() - c.run(CommandContext(r, app)) - p = subparsers.add_parser(c.name, help=c.description) c.setupParser(p) - p.set_defaults(func=command_runner) + p.set_defaults(func=c._runFromChef) # Parse the command line. result = parser.parse_args() @@ -110,7 +107,7 @@ logger.addHandler(FileHandler(result.log)) # Run the command! - result.func(result) + result.func(app, result) if __name__ == '__main__':