Mercurial > piecrust2
comparison piecrust/commands/base.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 |
comparison
equal
deleted
inserted
replaced
0:a212a3f2e3ee | 1:aaa8fb7c8918 |
---|---|
1 import logging | 1 import logging |
2 from piecrust.pathutil import SiteNotFoundError | |
2 | 3 |
3 | 4 |
4 logger = logging.getLogger(__name__) | 5 logger = logging.getLogger(__name__) |
5 | 6 |
6 | 7 |
7 class CommandContext(object): | 8 class CommandContext(object): |
8 def __init__(self, args, app): | 9 def __init__(self, app, args): |
10 self.app = app | |
9 self.args = args | 11 self.args = args |
10 self.app = app | |
11 | 12 |
12 | 13 |
13 class ChefCommand(object): | 14 class ChefCommand(object): |
14 def __init__(self): | 15 def __init__(self): |
15 self.name = '__unknown__' | 16 self.name = '__unknown__' |
20 raise NotImplementedError() | 21 raise NotImplementedError() |
21 | 22 |
22 def run(self, ctx): | 23 def run(self, ctx): |
23 raise NotImplementedError() | 24 raise NotImplementedError() |
24 | 25 |
26 def _runFromChef(self, app, res): | |
27 if app.root is None and self.requires_website: | |
28 raise SiteNotFoundError() | |
29 self.run(CommandContext(app, res)) | |
25 | 30 |
26 class RootCommand(ChefCommand): | |
27 def __init__(self): | |
28 super(RootCommand, self).__init__() | |
29 self.name = 'root' | |
30 self.description = "Gets the root directory of the current website." | |
31 | |
32 def setupParser(self, parser): | |
33 pass | |
34 | |
35 def run(self, ctx): | |
36 logger.info(ctx.app.root) | |
37 |