Mercurial > piecrust2
changeset 297:2823ea40cfac
import: Put importer metadata on the class, and allow return values.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 10 Mar 2015 08:34:45 -0700 |
parents | efdefe34ec89 |
children | b7ab1b503510 |
files | piecrust/commands/builtin/util.py piecrust/importing/base.py piecrust/importing/jekyll.py piecrust/importing/piecrust.py |
diffstat | 4 files changed, 11 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/piecrust/commands/builtin/util.py Sun Mar 08 23:00:01 2015 -0700 +++ b/piecrust/commands/builtin/util.py Tue Mar 10 08:34:45 2015 -0700 @@ -74,6 +74,8 @@ def setupParser(self, parser, app): subparsers = parser.add_subparsers() for i in app.plugin_loader.getImporters(): + if not i.__class__.name: + raise Exception("Importer '%s' has no name set." % type(i)) p = subparsers.add_parser(i.name, help=i.description) i.setupParser(p, app) p.set_defaults(sub_func=i.checkedImportWebsite)
--- a/piecrust/importing/base.py Sun Mar 08 23:00:01 2015 -0700 +++ b/piecrust/importing/base.py Tue Mar 10 08:34:45 2015 -0700 @@ -9,10 +9,9 @@ class Importer(object): - def __init__(self): - self.name = None - self.description = None - self.requires_website = True + name = None + description = None + requires_website = True def setupParser(self, parser, app): raise NotImplementedError() @@ -23,8 +22,7 @@ def checkedImportWebsite(self, ctx): if ctx.app.root_dir is None and self.requires_website: raise SiteNotFoundError() - self.importWebsite(ctx.app, ctx.args) - return 0 + return self.importWebsite(ctx.app, ctx.args) class FileWalkingImporter(Importer):
--- a/piecrust/importing/jekyll.py Sun Mar 08 23:00:01 2015 -0700 +++ b/piecrust/importing/jekyll.py Tue Mar 10 08:34:45 2015 -0700 @@ -13,10 +13,8 @@ class JekyllImporter(FileWalkingImporter): - def __init__(self): - super(JekyllImporter, self).__init__() - self.name = 'jekyll' - self.description = "Imports content from a Jekyll or Octopress blog." + name = 'jekyll' + description = "Imports content from a Jekyll or Octopress blog." def setupParser(self, parser, app): super(JekyllImporter, self).setupParser(parser, app)
--- a/piecrust/importing/piecrust.py Sun Mar 08 23:00:01 2015 -0700 +++ b/piecrust/importing/piecrust.py Tue Mar 10 08:34:45 2015 -0700 @@ -11,11 +11,9 @@ class PieCrust1Importer(FileWalkingImporter): - def __init__(self): - super(PieCrust1Importer, self).__init__() - self.name = 'piecrust1' - self.description = "Imports content from a PieCrust 1 website." - self.requires_website = False + name = 'piecrust1' + description = "Imports content from a PieCrust 1 website." + requires_website = False def setupParser(self, parser, app): super(PieCrust1Importer, self).setupParser(parser, app)