1.1 --- a/MoinSupport.py Sun Jan 22 00:04:16 2012 +0100
1.2 +++ b/MoinSupport.py Sun Jan 22 00:46:00 2012 +0100
1.3 @@ -9,6 +9,7 @@
1.4 """
1.5
1.6 from DateSupport import *
1.7 +from MoinMoin.Page import Page
1.8 from MoinMoin import wikiutil
1.9 import re
1.10 import time
1.11 @@ -146,7 +147,48 @@
1.12 else:
1.13 return request.path
1.14
1.15 -# Action support functions.
1.16 +# Page access functions.
1.17 +
1.18 +def getPageURL(page):
1.19 +
1.20 + "Return the URL of the given 'page'."
1.21 +
1.22 + request = page.request
1.23 + return request.getQualifiedURL(page.url(request, relative=0))
1.24 +
1.25 +def getFormat(page):
1.26 +
1.27 + "Get the format used on the given 'page'."
1.28 +
1.29 + return page.pi["format"]
1.30 +
1.31 +def getMetadata(page):
1.32 +
1.33 + """
1.34 + Return a dictionary containing items describing for the given 'page' the
1.35 + page's "created" time, "last-modified" time, "sequence" (or revision number)
1.36 + and the "last-comment" made about the last edit.
1.37 + """
1.38 +
1.39 + request = page.request
1.40 +
1.41 + # Get the initial revision of the page.
1.42 +
1.43 + revisions = page.getRevList()
1.44 + event_page_initial = Page(request, page.page_name, rev=revisions[-1])
1.45 +
1.46 + # Get the created and last modified times.
1.47 +
1.48 + initial_revision = getPageRevision(event_page_initial)
1.49 +
1.50 + metadata = {}
1.51 + metadata["created"] = initial_revision["timestamp"]
1.52 + latest_revision = getPageRevision(page)
1.53 + metadata["last-modified"] = latest_revision["timestamp"]
1.54 + metadata["sequence"] = len(revisions) - 1
1.55 + metadata["last-comment"] = latest_revision["comment"]
1.56 +
1.57 + return metadata
1.58
1.59 def getPageRevision(page):
1.60