# HG changeset patch # User Paul Boddie # Date 1327189560 -3600 # Node ID c2b1444e4a466b9a0210a024e5f70ec458f3e8a4 # Parent bf446fb77924d6b788a625e3f3417e9e0a43940e Added certain page inspection functionality from EventAggregatorSupport. diff -r bf446fb77924 -r c2b1444e4a46 MoinSupport.py --- a/MoinSupport.py Sun Jan 22 00:04:16 2012 +0100 +++ b/MoinSupport.py Sun Jan 22 00:46:00 2012 +0100 @@ -9,6 +9,7 @@ """ from DateSupport import * +from MoinMoin.Page import Page from MoinMoin import wikiutil import re import time @@ -146,7 +147,48 @@ else: return request.path -# Action support functions. +# Page access functions. + +def getPageURL(page): + + "Return the URL of the given 'page'." + + request = page.request + return request.getQualifiedURL(page.url(request, relative=0)) + +def getFormat(page): + + "Get the format used on the given 'page'." + + return page.pi["format"] + +def getMetadata(page): + + """ + Return a dictionary containing items describing for the given 'page' the + page's "created" time, "last-modified" time, "sequence" (or revision number) + and the "last-comment" made about the last edit. + """ + + request = page.request + + # Get the initial revision of the page. + + revisions = page.getRevList() + event_page_initial = Page(request, page.page_name, rev=revisions[-1]) + + # Get the created and last modified times. + + initial_revision = getPageRevision(event_page_initial) + + metadata = {} + metadata["created"] = initial_revision["timestamp"] + latest_revision = getPageRevision(page) + metadata["last-modified"] = latest_revision["timestamp"] + metadata["sequence"] = len(revisions) - 1 + metadata["last-comment"] = latest_revision["comment"] + + return metadata def getPageRevision(page):