diff piecrust/commands/builtin/util.py @ 60:6e60e0fef2be

Add `import` command, Jekyll importer.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 26 Aug 2014 23:20:48 -0700
parents 5d9d44bfc54d
children 28958565a17b
line wrap: on
line diff
--- a/piecrust/commands/builtin/util.py	Tue Aug 26 23:20:19 2014 -0700
+++ b/piecrust/commands/builtin/util.py	Tue Aug 26 23:20:48 2014 -0700
@@ -114,3 +114,20 @@
             f.write('---\n')
             f.write("This is a new page!\n")
 
+
+class ImportCommand(ChefCommand):
+    def __init__(self):
+        super(ImportCommand, self).__init__()
+        self.name = 'import'
+        self.description = "Imports content from another CMS into PieCrust."
+
+    def setupParser(self, parser, app):
+        subparsers = parser.add_subparsers()
+        for i in app.plugin_loader.getImporters():
+            p = subparsers.add_parser(i.name, help=i.description)
+            i.setupParser(p, app)
+            p.set_defaults(sub_func=i.checkedImportWebsite)
+
+    def run(self, ctx):
+        ctx.args.sub_func(ctx)
+