1.1 --- a/EventAggregatorSupport.py Sun Mar 29 21:01:49 2009 +0200
1.2 +++ b/EventAggregatorSupport.py Sun Mar 29 22:34:33 2009 +0200
1.3 @@ -10,8 +10,10 @@
1.4
1.5 from MoinMoin.Page import Page
1.6 from MoinMoin import search, version
1.7 +from MoinMoin import wikiutil
1.8 import calendar
1.9 import datetime
1.10 +import time
1.11 import re
1.12
1.13 __version__ = "0.1"
1.14 @@ -86,6 +88,14 @@
1.15 mapping.sort()
1.16 return mapping
1.17
1.18 +def getPageDate(page):
1.19 +
1.20 + # From MoinMoin.xmlrpc...
1.21 +
1.22 + edit_info = page.edit_info()
1.23 + mtime = wikiutil.version2timestamp(long(edit_info['timestamp'])) # must be long for py 2.2.x
1.24 + return tuple(time.gmtime(mtime))
1.25 +
1.26 # The main activity functions.
1.27
1.28 def getPages(pagename, request):
1.29 @@ -106,6 +116,18 @@
1.30 pages.append(page)
1.31 return pages
1.32
1.33 +def getSimpleWikiText(text):
1.34 +
1.35 + """
1.36 + Return the plain text representation of the given 'text' which may employ
1.37 + certain Wiki syntax features, such as those providing verbatim or monospaced
1.38 + text.
1.39 + """
1.40 +
1.41 + # NOTE: Re-implementing support for verbatim text and linking avoidance.
1.42 +
1.43 + return "".join([s for s in verbatim_regexp.split(text) if s is not None])
1.44 +
1.45 def getEventDetails(page):
1.46
1.47 "Return a dictionary of event details from the given 'page'."
1.48 @@ -127,17 +149,15 @@
1.49 if term in ("start", "end"):
1.50 desc = getDate(desc)
1.51
1.52 - # Lists.
1.53 + # Lists (whose elements may be quoted).
1.54
1.55 - elif term in ("topics",):
1.56 - desc = [value.strip() for value in desc.split(",")]
1.57 + elif term in ("topics", "categories"):
1.58 + desc = [getSimpleWikiText(value.strip()) for value in desc.split(",")]
1.59
1.60 # Labels which may well be quoted.
1.61 - # NOTE: Re-implementing support for verbatim text and linking
1.62 - # NOTE: avoidance.
1.63
1.64 elif term in ("title", "summary"):
1.65 - desc = "".join([s for s in verbatim_regexp.split(desc) if s is not None])
1.66 + desc = getSimpleWikiText(desc)
1.67
1.68 if desc is not None:
1.69 event_details[term] = desc