diff options
author | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2013-10-11 16:58:44 +0100 |
---|---|---|
committer | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2013-10-11 16:58:44 +0100 |
commit | 18660081f6a6a3b8118ef772b36da54bbe0344e4 (patch) | |
tree | e133150c879740b1e72439e4b1fc70badc2067f8 | |
parent | 6a89c17542193fc6bc0f5bbaea5bd073c37d129e (diff) | |
download | jt-18660081f6a6a3b8118ef772b36da54bbe0344e4.tar.gz |
Add cmd_finish
-rwxr-xr-x | journal-note | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/journal-note b/journal-note index 452ecd4..eaea036 100755 --- a/journal-note +++ b/journal-note @@ -80,6 +80,14 @@ class JournalNote(cliapp.Application): def draft_name(self, draft_id): return os.path.join(self.drafts_dir(), '%s.mdwn' % draft_id) + def published_dir(self): + subdirs = { + 'liw': 'notes', + 'ct': 'log', + } + subdir = subdirs[self.settings['layout']] + return os.path.join(self.settings['source'], subdir) + def edit_file(self, pathname): subprocess.check_call(['echo', 'sensible-editor', pathname]) @@ -145,38 +153,32 @@ class JournalNote(cliapp.Application): # pathname = self.draftname(opts, args[0]) # os.remove(pathname) - # def cmd_finish(self, args, opts): - # draft_id = self.choose_entry(args, opts) - # draft = self.draftname(opts, draft_id) - # if not os.path.exists(draft): - # raise AppException('draft %s does not exist' % args[0]) - # basename = time.strftime('%Y-%m-%d-%H:%M.mdwn') - # i = 0 - # while True: - # finished = os.path.join(opts.base, 'src', 'notes', basename) - # if not os.path.exists(finished): - # break - # i += 1 - # basename = '%s-%d.mdwn' % (time.strftime('%Y-%m-%d-%H:%M:%S-'), i) - # os.rename(draft, finished) - - # draft_dir, ext = os.path.splitext(draft) - # finished_dir, ext = os.path.splitext(finished) - # if os.path.exists(draft_dir): - # if os.path.exists(finished_dir): - # raise obnamlib.AppException('%s already exists' % - # finished_dir) - # os.rename(draft_dir, finished_dir) - - # src = os.path.join(opts.base, 'src') - # argv = ['bzr', 'add', finished] - # if os.path.exists(finished_dir): - # argv.append(finished_dir) - # subprocess.check_call(argv, cwd=src) - # subprocess.check_call(['bzr', 'commit', '-m', 'new note'], cwd=src) - # subprocess.check_call(['ikiwiki', '--setup', '../ikiwiki.setup', - # '--refresh'], - # cwd=src) + def cmd_finish(self, args): + '''Publish a draft journal entry.''' + + draft_mdwn = self.choose_draft(args) + draft_attch, ext = os.path.splitext(draft_mdwn) + assert ext == '.mdwn' + + basename = time.strftime('%Y-%m-%d-%H:%M:%S') + pub_mdwn = os.path.join(self.published_dir(), '%s.mdwn' % basename) + pub_attch = os.path.join(self.published_dir(), basename) + + if os.path.exists(pub_mdwn): + raise cliapp.AppException('%s already exists' % pub_mdwn) + os.rename(draft_mdwn, pub_mdwn) + if os.path.exists(draft_attch): + os.rename(draft_attch, pub_attch) + + # src = os.path.join(opts.base, 'src') + # argv = ['bzr', 'add', finished] + # if os.path.exists(finished_dir): + # argv.append(finished_dir) + # subprocess.check_call(argv, cwd=src) + # subprocess.check_call(['bzr', 'commit', '-m', 'new note'], cwd=src) + # subprocess.check_call(['ikiwiki', '--setup', '../ikiwiki.setup', + # '--refresh'], + # cwd=src) |