def test_move(self): # create a post and a page new_post = post.create("A post", datetime.datetime(2010, 10, 1)) new_page = page.create("A page") # page and posts should be in master doc (precondition) lines = master.read_master() self.assertTrue(" %s\n" % new_post.docname in lines) self.assertTrue(" %s\n" % new_page.docname in lines) new_draft = draft.move( os.path.join(utils.TEST_ROOT, "pages", "a_page.rst")) self.assertTrue(os.path.exists(new_draft)) # page should no longer be in TOC lines = master.read_master() self.assertTrue(" %s\n" % new_post.docname in lines) self.assertFalse(" %s\n" % new_page.docname in lines) new_draft = draft.move( os.path.join(utils.TEST_ROOT, "2010", "10", "01", "a_post.rst")) self.assertTrue(os.path.exists(new_draft)) # post should no longer be in TOC either lines = master.read_master() self.assertFalse(" %s\n" % new_post.docname in lines) self.assertFalse(" %s\n" % new_page.docname in lines)
def test_move(self): # create a post and a page new_post = post.create("A post", datetime.datetime(2010, 10, 1)) new_page = page.create("A page") # page and posts should be in master doc (precondition) lines = master.read_master() self.assertTrue(" %s\n" % new_post.docname in lines) self.assertTrue(" %s\n" % new_page.docname in lines) new_draft = draft.move(os.path.join(utils.TEST_ROOT, "pages", "a_page.rst")) self.assertTrue(os.path.exists(new_draft)) # page should no longer be in TOC lines = master.read_master() self.assertTrue(" %s\n" % new_post.docname in lines) self.assertFalse(" %s\n" % new_page.docname in lines) new_draft = draft.move(os.path.join(utils.TEST_ROOT, "2010", "10", "01", "a_post.rst")) self.assertTrue(os.path.exists(new_draft)) # post should no longer be in TOC either lines = master.read_master() self.assertFalse(" %s\n" % new_post.docname in lines) self.assertFalse(" %s\n" % new_page.docname in lines)
def preview_draft(draft_file): ''' Rebuilds the blog, including the given draft. ''' if not os.path.exists(draft_file): raise Exception("Draft named '%s' does not exist" % draft_file) # promote draft preview_post = post.move(draft_file) try: # rebuild result = build() finally: # demote post back to draft draft.move(preview_post.path) return result
def create_draft(title, template): ''' Creates a new draft with the given title or makes an existing file a draft. ''' move = os.path.exists(title) if move: new_draft = draft.move(title) else: new_draft = draft.create(title, template) output.filename.info(new_draft) if move: output.write.info("File moved to draft '%s'" % new_draft) else: output.write.info("New draft created as '%s'" % new_draft)