def test_get_versions(self): """ Assert that a path can get all versions """ pages = [ self.page_1, self.page_2, self.page_3, self.page_4 ] pages_1 = Page.get_versions(self.page_1.path, pages) pages_2 = Page.get_versions(self.page_2.path, pages) pages_3 = Page.get_versions(self.page_3.path, pages) pages_4 = Page.get_versions(self.page_4.path, pages) assert self.page_1 in pages_1 assert self.page_2 not in pages_1 assert self.page_3 not in pages_1 assert self.page_4 not in pages_1 assert self.page_1 not in pages_2 assert self.page_2 in pages_2 assert self.page_3 in pages_2 assert self.page_4 not in pages_2 assert self.page_1 not in pages_3 assert self.page_2 in pages_3 assert self.page_3 in pages_3 assert self.page_4 not in pages_3 assert self.page_1 not in pages_4 assert self.page_2 not in pages_4 assert self.page_3 not in pages_4 assert self.page_4 in pages_4
def delete(url): page = current_wiki.get_or_404(url) all_pages = current_wiki.index() pages = Page.get_versions(page.path, all_pages) for p in pages: current_wiki.delete(p.url) flash('Page "%s" was deleted.' % page.title, 'success') return redirect(url_for('wiki.home'))
def versions(url): """ @file: routes.py @author: Dustin Gulley @date: 04/08/2018 Returns all page versions of a specified url 'myfile_v1' -> [Page with 'path/to/myfile_v1.txt', Page with 'path/to/myfile_v2.txt'] """ page = current_wiki.get(url) all_pages = current_wiki.index() pages = Page.get_versions(page.path, all_pages) return render_template('versions.html', pages=pages)
def move(url): page = current_wiki.get_or_404(url) form = URLForm(obj=page) if form.validate_on_submit(): newurl = form.url.data current_wiki.move(url, newurl) # Delete non-moved pages all_pages = current_wiki.index() pages = Page.get_versions(page.path, all_pages) for p in pages: current_wiki.delete(p.url) flash('Page "%s" was deleted.' % page.title, 'success') return redirect(url_for('wiki.display', url=newurl)) return render_template('move.html', form=form, page=page)