1.1 --- a/actions/EventAggregatorSummary.py Sun Nov 18 19:22:17 2012 +0100
1.2 +++ b/actions/EventAggregatorSummary.py Sun Nov 18 21:16:00 2012 +0100
1.3 @@ -104,6 +104,8 @@
1.4 "category_list" : "\n".join(category_list),
1.5 "sources_label" : escape(_("Sources")),
1.6 "sources_list" : "\n".join(sources_list),
1.7 + "search_label" : escape(_("Search pattern")),
1.8 + "search_default" : escattr(form.get("search", [""])[0]),
1.9 "start_month_list" : "\n".join(start_month_list),
1.10 "start_label" : escape(_("Start day (optional), month and year")),
1.11 "start_day_default" : escattr(start_day_default),
1.12 @@ -133,6 +135,12 @@
1.13 <input name="resolution" type="hidden" value="%(resolution)s" />
1.14 <table>
1.15 <tr>
1.16 + <td class="label"><label>%(search_label)s</label></td>
1.17 + <td class="content">
1.18 + <input name="search" type="text" value="%(search_default)s" size="40" />
1.19 + </td>
1.20 + </tr>
1.21 + <tr>
1.22 <td class="label"><label>%(category_label)s</label></td>
1.23 <td class="content">
1.24 <select multiple="multiple" name="category">
1.25 @@ -225,11 +233,12 @@
1.26 # If no category names or sources exist in the request, an error message
1.27 # is returned.
1.28
1.29 - category_names = form.get("category", [])
1.30 - sources = form.get("source", [])
1.31 + category_names = form.get("category")
1.32 + sources = form.get("source")
1.33 + search_pattern = form.get("search")
1.34
1.35 - if not (category_names or sources):
1.36 - return 0, _("No categories or sources specified.")
1.37 + if not (category_names or sources or search_pattern):
1.38 + return 0, _("No categories, sources or search patterns specified.")
1.39
1.40 write_resource(self.request)
1.41 return 1, None
1.42 @@ -257,6 +266,7 @@
1.43
1.44 category_names = form.get("category", [])
1.45 remote_sources = form.get("source", [])
1.46 + search_pattern = form.get("search", [None])[0]
1.47 format = form.get("format", ["iCalendar"])[0]
1.48 descriptions = form.get("descriptions", ["page"])[0]
1.49 parent = form.get("parent", [""])[0]
1.50 @@ -286,11 +296,11 @@
1.51
1.52 # Determine the period and get the events involved.
1.53
1.54 - pages = getPagesFromResults(getAllCategoryPages(category_names, request), request)
1.55 - events = getEventsFromResources(getEventPages(pages))
1.56 - events += getEventsFromResources(getEventResources(remote_sources, calendar_start, calendar_end, request))
1.57 - all_shown_events = getEventsInPeriod(events, getCalendarPeriod(calendar_start, calendar_end))
1.58 - latest_timestamp = getLatestEventTimestamp(all_shown_events)
1.59 + all_shown_events, first, last = getEventsUsingParameters(
1.60 + category_names, search_pattern, remote_sources, calendar_start, calendar_end,
1.61 + resolution, request)
1.62 +
1.63 + latest_timestamp = getLatestEventTimestamp(all_shown_events)
1.64
1.65 # Output summary data...
1.66