diff options
Diffstat (limited to 'jt')
-rwxr-xr-x | jt | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -20,6 +20,7 @@ import optparse import os import re import shutil +import string import subprocess import sys import tempfile @@ -243,15 +244,26 @@ class JournalTool(cliapp.Application): if self.settings['layout'] in ('liw', 'ct'): basename = time.strftime('%Y-%m-%d-%H:%M:%S') elif self.settings['layout'] == 'pkb': - basename = self.get_draft_title(draft_mdwn) - if not basename: + title = self.get_draft_title(draft_mdwn) + if not title: raise Exception("%s has no title" % draft_mdwn) + basename = self.summarise_title(title) else: raise Exception( 'Setting --layout=%s is unknown' % self.settings['layout']) return basename + def summarise_title(self, title): + basename = '' + acceptable = set(string.ascii_letters + string.digits + '-_') + for c in title.lower(): + if c in acceptable: + basename += c + elif not basename.endswith('_'): + basename += '_' + return basename + def cmd_new_person(self, args): '''Create a page to list all notes referring to a person. |