Skip to content

Commit

Permalink
Start some scaffolder work for #38.
Browse files Browse the repository at this point in the history
  • Loading branch information
mblayman committed Sep 23, 2015
1 parent a83908a commit 970b3b9
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 6 deletions.
11 changes: 10 additions & 1 deletion handroll/command.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ def main(argv=sys.argv):
if args.debug:
logger.setLevel(logging.DEBUG)

if args.scaffold:
scaffolder.make(args.scaffold, args.site)
finish()

try:
site = Site(args.site)
valid, message = site.is_valid()
Expand All @@ -40,7 +44,7 @@ def main(argv=sys.argv):
director.produce()

if not args.watch:
print(_('Complete.'))
finish()
except AbortError as abort:
logger.error(str(abort))
sys.exit(_('Incomplete.'))
Expand Down Expand Up @@ -84,3 +88,8 @@ def parse_args(argv):
args.site = args.site.rstrip(os.sep)

return args


def finish():
print(_('Complete.'))
sys.exit()
10 changes: 10 additions & 0 deletions handroll/scaffolder.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
# Copyright (c) 2015, Matt Layman

from handroll.i18n import _

BUILTIN_SCAFFOLDS = {
'default': _('A complete site to get you going'),
}
LIST_SCAFFOLDS = 1


def get_label(scaffold):
"""Get the label for the scaffold."""
return BUILTIN_SCAFFOLDS[scaffold]
20 changes: 15 additions & 5 deletions handroll/tests/test_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,13 +149,12 @@ def test_site_directory_is_file(self):
self.arguments.append(file_site)
self.assertRaises(SystemExit, command.main, self.arguments)

def test_complete_site_generation(self):
@mock.patch('handroll.command.finish')
def test_complete_site_generation(self, finish):
site = self.factory.make_site()
self.arguments.append(site.path)
try:
command.main(self.arguments)
except SystemExit:
self.fail('Failed to completely generate site.')
command.main(self.arguments)
self.assertTrue(finish.called)

@mock.patch('handroll.command.serve')
def test_development_server_served(self, serve):
Expand All @@ -165,3 +164,14 @@ def test_development_server_served(self, serve):
command.main(self.arguments)

self.assertTrue(serve.called)

@mock.patch('handroll.command.scaffolder')
def test_makes_from_scaffolder(self, mock_scaffolder):
self.arguments.extend(['-s', 'default', 'site'])

try:
command.main(self.arguments)
self.fail()
except SystemExit:
mock_scaffolder.make.assert_called_once_with(
'default', 'site')
12 changes: 12 additions & 0 deletions handroll/tests/test_scaffolder.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Copyright (c) 2015, Matt Layman

from handroll import scaffolder
from handroll.i18n import _
from handroll.tests import TestCase


class TestScaffolder(TestCase):

def test_default_scaffolder_label(self):
label = scaffolder.get_label('default')
self.assertEqual(_('A complete site to get you going'), label)

0 comments on commit 970b3b9

Please sign in to comment.