1.1 --- a/macros/EventAggregator.py Sun Mar 29 22:34:33 2009 +0200
1.2 +++ b/macros/EventAggregator.py Mon Mar 30 01:37:45 2009 +0200
1.3 @@ -416,29 +416,59 @@
1.4
1.5 output.append(fmt.bullet_list(on=1, attr={"class" : "event-month-listings"}))
1.6
1.7 + # Get the events in order.
1.8 +
1.9 + ordered_events = []
1.10 +
1.11 for event_page, event_details in shown_events.get((year, month), []):
1.12 + ordered_events.append((event_details["start"], event_details["end"], (event_page, event_details)))
1.13
1.14 + ordered_events.sort(lambda x, y: cmp((x[0], x[1]), (y[0], y[1])))
1.15 +
1.16 + # Show the events in order.
1.17 +
1.18 + for start, end, (event_page, event_details) in ordered_events:
1.19 event_summary = EventAggregatorSupport.getEventSummary(event_page, event_details)
1.20
1.21 output.append(fmt.listitem(on=1, attr={"class" : "event-listing"}))
1.22
1.23 # Link to the page using the summary.
1.24
1.25 + output.append(fmt.paragraph(on=1))
1.26 output.append(event_page.link_to_raw(request, wikiutil.escape(event_summary)))
1.27 + output.append(fmt.paragraph(on=0))
1.28 +
1.29 + # Start and end dates.
1.30
1.31 - # Add the event details.
1.32 + output.append(fmt.paragraph(on=1))
1.33 + output.append(fmt.span(on=1))
1.34 + output.append(fmt.text("%04d-%02d-%02d" % event_details["start"]))
1.35 + output.append(fmt.span(on=0))
1.36 + output.append(fmt.text(" - "))
1.37 + output.append(fmt.span(on=1))
1.38 + output.append(fmt.text("%04d-%02d-%02d" % event_details["end"]))
1.39 + output.append(fmt.span(on=0))
1.40 + output.append(fmt.paragraph(on=0))
1.41
1.42 - output.append(fmt.definition_list(on=1, attr={"class" : "event-details"}))
1.43 + # Location.
1.44
1.45 - for key, value in event_details.items():
1.46 - output.append(fmt.definition_term(on=1))
1.47 - output.append(fmt.text(key))
1.48 - output.append(fmt.definition_term(on=0))
1.49 - output.append(fmt.definition_desc(on=1))
1.50 - output.append(fmt.text(unicode(value)))
1.51 - output.append(fmt.definition_desc(on=0))
1.52 + if event_details.has_key("location"):
1.53 + output.append(fmt.paragraph(on=1))
1.54 + output.append(fmt.text(event_details["location"]))
1.55 + output.append(fmt.paragraph(on=1))
1.56 +
1.57 + # Topics.
1.58
1.59 - output.append(fmt.definition_list(on=0))
1.60 + if event_details.has_key("topics") or event_details.has_key("categories"):
1.61 + output.append(fmt.bullet_list(on=1, attr={"class" : "event-topics"}))
1.62 +
1.63 + for topic in event_details.get("topics") or event_details.get("categories"):
1.64 + output.append(fmt.listitem(on=1))
1.65 + output.append(fmt.text(topic))
1.66 + output.append(fmt.listitem(on=0))
1.67 +
1.68 + output.append(fmt.bullet_list(on=0))
1.69 +
1.70 output.append(fmt.listitem(on=0))
1.71
1.72 output.append(fmt.bullet_list(on=0))