1.1 --- a/macros/EventAggregator.py Wed May 01 00:04:59 2013 +0200
1.2 +++ b/macros/EventAggregator.py Wed May 01 01:44:54 2013 +0200
1.3 @@ -8,10 +8,10 @@
1.4 @license: GNU GPL (v2 or later), see COPYING.txt for details.
1.5 """
1.6
1.7 +from EventAggregatorSupport.Actions import get_date_functions
1.8 from EventAggregatorSupport.Resources import getEventsUsingParameters
1.9 from EventAggregatorSupport.View import View, getQualifiedParameter
1.10 -from MoinDateSupport import getFormDate, getFormMonth, \
1.11 - getParameterDate, getParameterMonth
1.12 +from MoinDateSupport import getFormMonth
1.13 from MoinMoin import wikiutil
1.14
1.15 Dependencies = ['pages']
1.16 @@ -85,6 +85,7 @@
1.17 raw_calendar_end = None
1.18 calendar_start = None
1.19 calendar_end = None
1.20 + raw_mode = None
1.21 mode = None
1.22 name_usage = "weekly"
1.23 calendar_name = None
1.24 @@ -100,7 +101,7 @@
1.25 raw_calendar_end = arg[4:]
1.26
1.27 elif arg.startswith("mode="):
1.28 - mode = arg[5:]
1.29 + raw_mode = arg[5:]
1.30
1.31 elif arg.startswith("names="):
1.32 name_usage = arg[6:]
1.33 @@ -128,31 +129,30 @@
1.34
1.35 # Find request parameters to override settings.
1.36
1.37 - mode = getQualifiedParameter(request, calendar_name, "mode", mode or "calendar")
1.38 + mode = getQualifiedParameter(request, calendar_name, "mode", raw_mode or "calendar")
1.39
1.40 # Different modes require different levels of precision by default.
1.41
1.42 + raw_resolution = raw_mode == "day" and "date" or "month"
1.43 +
1.44 resolution = getQualifiedParameter(request, calendar_name, "resolution", mode == "day" and "date" or "month")
1.45 resolution = mode == "calendar" and "month" or resolution
1.46
1.47 - if resolution == "date":
1.48 - get_date = getParameterDate
1.49 - get_form_date = getFormDate
1.50 - else:
1.51 - get_date = getParameterMonth
1.52 - get_form_date = getFormMonth
1.53 + # Determine the limits of the calendar.
1.54
1.55 - # Determine the limits of the calendar.
1.56 + get_date, get_form_date = get_date_functions(raw_resolution)
1.57
1.58 original_calendar_start = calendar_start = get_date(raw_calendar_start)
1.59 original_calendar_end = calendar_end = get_date(raw_calendar_end)
1.60
1.61 + wider_calendar_start = getFormMonth(request, calendar_name, "wider-start")
1.62 + wider_calendar_end = getFormMonth(request, calendar_name, "wider-end")
1.63 +
1.64 + get_date, get_form_date = get_date_functions(resolution)
1.65 +
1.66 calendar_start = get_form_date(request, calendar_name, "start") or calendar_start
1.67 calendar_end = get_form_date(request, calendar_name, "end") or calendar_end
1.68
1.69 - wider_calendar_start = getFormMonth(request, calendar_name, "wider-start")
1.70 - wider_calendar_end = getFormMonth(request, calendar_name, "wider-end")
1.71 -
1.72 # Get the events according to the resolution of the calendar.
1.73
1.74 all_shown_events, first, last = getEventsUsingParameters(
1.75 @@ -167,7 +167,7 @@
1.76 calendar_start, calendar_end,
1.77 wider_calendar_start, wider_calendar_end,
1.78 first, last, category_names, remote_sources, search_pattern, template_name,
1.79 - parent_name, mode, resolution, name_usage, map_name)
1.80 + parent_name, mode, raw_resolution, resolution, name_usage, map_name)
1.81
1.82 return view.render(all_shown_events)
1.83