Skip to content

Commit

Permalink
Add the scaffold argument.
Browse files Browse the repository at this point in the history
This is part of issue #38.
  • Loading branch information
mblayman committed Sep 22, 2015
1 parent 4eec80d commit a94a060
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 3 deletions.
7 changes: 6 additions & 1 deletion handroll/command.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import os
import sys

from handroll import logger
from handroll import logger, scaffolder
from handroll.configuration import build_config
from handroll.director import Director
from handroll.exceptions import AbortError
Expand Down Expand Up @@ -60,6 +60,11 @@ def parse_args(argv):
'-w', '--watch', action='store_true',
help=_('watch the site for changes and'
' run a web server in the output directory'))
parser.add_argument(
'-s', '--scaffold', action='store',
nargs='?', const=scaffolder.LIST_SCAFFOLDS, metavar='scaffold',
help=_('make a new handroll site from a scaffold '
'or list the available scaffolds'))
parser.add_argument(
'-v', '--verbose', action='store_true', help=_('use verbose messages'))
parser.add_argument(
Expand Down
3 changes: 3 additions & 0 deletions handroll/scaffolder.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Copyright (c) 2015, Matt Layman

LIST_SCAFFOLDS = 1
22 changes: 20 additions & 2 deletions handroll/tests/test_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@

import mock

from handroll import logger
from handroll import command
from handroll import command, logger, scaffolder
from handroll.tests import TestCase


Expand Down Expand Up @@ -107,6 +106,25 @@ def test_force_argument(self):
args = command.parse_args(argv)
self.assertTrue(args.force)

def test_scaffold_argument(self):
args = command.parse_args(self.arguments)
self.assertIsNone(args.scaffold)

argv = list(self.arguments)
argv.append('-s')
args = command.parse_args(argv)
self.assertEqual(scaffolder.LIST_SCAFFOLDS, args.scaffold)

argv = list(self.arguments)
argv.append('--scaffold')
args = command.parse_args(argv)
self.assertEqual(scaffolder.LIST_SCAFFOLDS, args.scaffold)

argv = list(self.arguments)
argv.extend(['--scaffold', 'default'])
args = command.parse_args(argv)
self.assertEqual('default', args.scaffold)


class TestMain(TestCase):

Expand Down

0 comments on commit a94a060

Please sign in to comment.