From 70608dbf368a54be4d40c8e3fe6bfa179dd6e12f Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 22 Nov 2014 18:21:57 +0200 Subject: Move command new-person to a separate class --- jt | 61 ++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/jt b/jt index 3e78621..74673be 100755 --- a/jt +++ b/jt @@ -157,6 +157,39 @@ class FinishCommand(Command): cwd=self._app.settings['source']) +class NewPersonCommand(Command): + + def run(self, args): + if len(args) != 1: + raise cliapp.AppException( + 'Need the name of a person (in Last, First form)') + + def normalise(name): + s = name.lower() + s = ' '.join(s.split(',')) + s = '.'.join(s.split()) + return s + + name = args[0] + basename = normalise(name) + pathname = os.path.join( + self._app.settings['source'], 'people', basename + '.mdwn') + + if os.path.exists(pathname): + raise cliapp.AppException('File %s already exists' % pathname) + + with open(pathname, 'w') as f: + f.write('''\ +[[!meta title="%(name)s"]] + +[[!inline archive=yes pages="link(.)"]] +''' % + { + 'name': name, + 'basename': basename, + }) + + class JournalTool(cliapp.Application): cmd_synopsis = { @@ -312,33 +345,7 @@ class JournalTool(cliapp.Application): ''' - if len(args) != 1: - raise cliapp.AppException( - 'Need the name of a person (in Last, First form)') - - def normalise(name): - s = name.lower() - s = ' '.join(s.split(',')) - s = '.'.join(s.split()) - return s - - name = args[0] - basename = normalise(name) - pathname = os.path.join( - self.settings['source'], 'people', basename + '.mdwn') - - if os.path.exists(pathname): - raise cliapp.AppException('File %s already exists' % pathname) - - with open(pathname, 'w') as f: - f.write('''\ -[[!meta title="%(name)s"]] + NewPersonCommand(self).run(args) -[[!inline archive=yes pages="link(.)"]] -''' % - { - 'name': name, - 'basename': basename, - }) JournalTool(version=__version__).run() -- cgit v1.2.1