summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2014-11-22 18:51:29 +0200
committerLars Wirzenius <liw@liw.fi>2014-11-22 18:51:29 +0200
commit4a85d5b145768887cfa73619f1ddf41a31f9a03b (patch)
treef31dc7eeba21ea8c434e4fcd92c69b029c3c7c07
parentb8d2bb0c42de171117f346751061da9a34c32281 (diff)
downloadjt-4a85d5b145768887cfa73619f1ddf41a31f9a03b.tar.gz
Move draft removal into DraftsDirectory
-rwxr-xr-xjt18
1 files changed, 10 insertions, 8 deletions
diff --git a/jt b/jt
index b8813bc..4073e85 100755
--- a/jt
+++ b/jt
@@ -51,7 +51,7 @@ class DraftsDirectory(object):
def get_draft_pathname(self, draft_number):
return os.path.join(self.dirname, '%s.mdwn' % draft_number)
- def get_draft_attachment_dirname(self, draft_number):
+ def get_draft_attachments_dirname(self, draft_number):
return os.path.join(self.dirname, '%s' % draft_number)
def get_drafts(self):
@@ -60,6 +60,14 @@ class DraftsDirectory(object):
if basename.endswith('.mdwn') and not basename.startswith('.#'):
yield basename[:-len('.mdwn')], os.path.join(self.dirname, basename)
+ def remove_draft(self, draft_number):
+ filename = self.get_draft_pathname(draft_number)
+ os.remove(filename)
+
+ dirname = self.get_draft_attachments_dirname(draft_number)
+ if os.path.exists(dirname):
+ shutil.rmtree(dirname)
+
class Command(object):
@@ -138,13 +146,7 @@ class RemoveCommand(Command):
raise cliapp.AppException('Usage: journal-note remove ID')
drafts_dir = DraftsDirectory(self._app.drafts_dir())
- filename = drafts_dir.get_draft_pathname(args[0])
- os.remove(filename)
-
- dirname, ext = os.path.splitext(filename)
- assert ext == '.mdwn'
- if os.path.exists(dirname):
- shutil.rmtree(dirname)
+ drafts_dir.remove_draft(args[0])
class FinishCommand(Command):