changeset 163:6d23473fab41

sources: Add `chef sources` command to list page sources.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 01 Jan 2015 21:21:00 -0800
parents c4b155b08b52
children 4534ccbdd2a3
files piecrust/commands/builtin/info.py piecrust/plugins/builtin.py
diffstat 2 files changed, 28 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/piecrust/commands/builtin/info.py	Thu Jan 01 21:10:46 2015 -0800
+++ b/piecrust/commands/builtin/info.py	Thu Jan 01 21:21:00 2015 -0800
@@ -49,6 +49,22 @@
             ctx.result = 1
 
 
+class ShowSourcesCommand(ChefCommand):
+    def __init__(self):
+        super(ShowSourcesCommand, self).__init__()
+        self.name = 'sources'
+        self.description = "Shows the sources defined for this website."
+
+    def setupParser(self, parser, app):
+        pass
+
+    def run(self, ctx):
+        for src in ctx.app.sources:
+            logger.info("%s:" % src.name)
+            logger.info("    type: %s" % src.config.get('type'))
+            logger.info("    class: %s" % type(src))
+
+
 class ShowRoutesCommand(ChefCommand):
     def __init__(self):
         super(ShowRoutesCommand, self).__init__()
--- a/piecrust/plugins/builtin.py	Thu Jan 01 21:10:46 2015 -0800
+++ b/piecrust/plugins/builtin.py	Thu Jan 01 21:21:00 2015 -0800
@@ -1,13 +1,16 @@
 from piecrust.commands.base import HelpCommand
-from piecrust.commands.builtin.baking import (BakeCommand, ShowRecordCommand)
-from piecrust.commands.builtin.info import (RootCommand, ShowConfigCommand,
-        FindCommand, ShowRoutesCommand, ShowPathsCommand)
-from piecrust.commands.builtin.scaffolding import (PrepareCommand,
+from piecrust.commands.builtin.baking import (
+        BakeCommand, ShowRecordCommand)
+from piecrust.commands.builtin.info import (
+        RootCommand, ShowConfigCommand,
+        FindCommand, ShowSourcesCommand, ShowRoutesCommand, ShowPathsCommand)
+from piecrust.commands.builtin.scaffolding import (
+        PrepareCommand,
         DefaultPrepareTemplatesCommandExtension,
         DefaultPrepareTemplatesHelpTopic)
 from piecrust.commands.builtin.serving import (ServeCommand)
-from piecrust.commands.builtin.util import (InitCommand, PurgeCommand,
-        ImportCommand)
+from piecrust.commands.builtin.util import (
+        InitCommand, PurgeCommand, ImportCommand)
 from piecrust.data.provider import (IteratorDataProvider, BlogDataProvider)
 from piecrust.formatting.markdownformatter import MarkdownFormatter
 from piecrust.formatting.textileformatter import TextileFormatter
@@ -20,8 +23,8 @@
 from piecrust.processing.requirejs import RequireJSProcessor
 from piecrust.processing.sitemap import SitemapProcessor
 from piecrust.sources.base import DefaultPageSource
-from piecrust.sources.posts import (FlatPostsSource, ShallowPostsSource,
-        HierarchyPostsSource)
+from piecrust.sources.posts import (
+        FlatPostsSource, ShallowPostsSource, HierarchyPostsSource)
 from piecrust.sources.autoconfig import AutoConfigSource
 from piecrust.sources.prose import ProseSource
 from piecrust.templating.jinjaengine import JinjaTemplateEngine
@@ -42,6 +45,7 @@
                 ShowConfigCommand(),
                 FindCommand(),
                 PrepareCommand(),
+                ShowSourcesCommand(),
                 ShowRoutesCommand(),
                 ShowPathsCommand(),
                 BakeCommand(),