summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <lars.wirzenius@codethink.co.uk>2013-10-11 16:58:44 +0100
committerLars Wirzenius <lars.wirzenius@codethink.co.uk>2013-10-11 16:58:44 +0100
commit18660081f6a6a3b8118ef772b36da54bbe0344e4 (patch)
treee133150c879740b1e72439e4b1fc70badc2067f8
parent6a89c17542193fc6bc0f5bbaea5bd073c37d129e (diff)
downloadjt-18660081f6a6a3b8118ef772b36da54bbe0344e4.tar.gz
Add cmd_finish
-rwxr-xr-xjournal-note66
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)