1.1 --- a/macros/EventAggregator.py Sun Mar 22 21:49:44 2009 +0100
1.2 +++ b/macros/EventAggregator.py Sun Mar 22 22:04:47 2009 +0100
1.3 @@ -418,82 +418,105 @@
1.4
1.5 output.append(fmt.table_row(on=0))
1.6
1.7 - # Visit each set of scheduled events.
1.8 -
1.9 - for coverage, events in week_events:
1.10 + # Either generate empty days...
1.11
1.12 - # Output each set.
1.13 -
1.14 + if not week_events:
1.15 output.append(fmt.table_row(on=1))
1.16
1.17 - # Then, output day details.
1.18 -
1.19 for weekday in range(0, 7):
1.20 day = first_day + weekday
1.21 date = (year, month, day)
1.22
1.23 - # Skip out-of-month days.
1.24 + # Output out-of-month days.
1.25
1.26 if day < 1 or day > number_of_days:
1.27 output.append(fmt.table_cell(on=1, attrs={"class" : "event-day event-day-excluded"}))
1.28 output.append(fmt.table_cell(on=0))
1.29 - continue
1.30
1.31 - # Output the day.
1.32 + # Output empty days.
1.33
1.34 - if date in coverage:
1.35 - output.append(fmt.table_cell(on=1, attrs={"class" : "event-day event-day-busy"}))
1.36 else:
1.37 output.append(fmt.table_cell(on=1, attrs={"class" : "event-day event-day-empty"}))
1.38
1.39 - # Get event details for the current day.
1.40 + output.append(fmt.table_row(on=0))
1.41 +
1.42 + # Or visit each set of scheduled events...
1.43 +
1.44 + else:
1.45 + for coverage, events in week_events:
1.46 +
1.47 + # Output each set.
1.48 +
1.49 + output.append(fmt.table_row(on=1))
1.50
1.51 - for event_page, event_details in events:
1.52 - if not (event_details["start"] <= date <= event_details["end"]):
1.53 + # Then, output day details.
1.54 +
1.55 + for weekday in range(0, 7):
1.56 + day = first_day + weekday
1.57 + date = (year, month, day)
1.58 +
1.59 + # Skip out-of-month days.
1.60 +
1.61 + if day < 1 or day > number_of_days:
1.62 + output.append(fmt.table_cell(on=1, attrs={"class" : "event-day event-day-excluded"}))
1.63 + output.append(fmt.table_cell(on=0))
1.64 continue
1.65
1.66 - # Get a pretty version of the page name.
1.67 -
1.68 - pretty_pagename = getPrettyPageName(event_page)
1.69 + # Output the day.
1.70
1.71 - # Generate a colour for the event.
1.72 + if date in coverage:
1.73 + output.append(fmt.table_cell(on=1, attrs={"class" : "event-day event-day-busy"}))
1.74 + else:
1.75 + output.append(fmt.table_cell(on=1, attrs={"class" : "event-day event-day-empty"}))
1.76
1.77 - bg = getColour(event_page.page_name)
1.78 - fg = getBlackOrWhite(bg)
1.79 + # Get event details for the current day.
1.80
1.81 - css_classes = ["event-summary"]
1.82 + for event_page, event_details in events:
1.83 + if not (event_details["start"] <= date <= event_details["end"]):
1.84 + continue
1.85 +
1.86 + # Get a pretty version of the page name.
1.87
1.88 - if event_details["start"] == date:
1.89 - css_classes.append("event-starts")
1.90 - start_of_event = 1
1.91 - else:
1.92 - start_of_event = 0
1.93 + pretty_pagename = getPrettyPageName(event_page)
1.94 +
1.95 + # Generate a colour for the event.
1.96
1.97 - if event_details["end"] == date:
1.98 - css_classes.append("event-ends")
1.99 + bg = getColour(event_page.page_name)
1.100 + fg = getBlackOrWhite(bg)
1.101 +
1.102 + css_classes = ["event-summary"]
1.103
1.104 - # Output the event.
1.105 + if event_details["start"] == date:
1.106 + css_classes.append("event-starts")
1.107 + start_of_event = 1
1.108 + else:
1.109 + start_of_event = 0
1.110
1.111 - if name_usage == "daily" or start_of_event or weekday == 0 or day == 1:
1.112 - hide_text = 0
1.113 - else:
1.114 - hide_text = 1
1.115 + if event_details["end"] == date:
1.116 + css_classes.append("event-ends")
1.117 +
1.118 + # Output the event.
1.119
1.120 - output.append(fmt.div(on=1, css_class=(" ".join(css_classes)),
1.121 - style=("background-color: rgb(%d, %d, %d); color: rgb(%d, %d, %d);" % (bg + fg))))
1.122 + if name_usage == "daily" or start_of_event or weekday == 0 or day == 1:
1.123 + hide_text = 0
1.124 + else:
1.125 + hide_text = 1
1.126
1.127 - if not hide_text:
1.128 - output.append(event_page.link_to_raw(request, wikiutil.escape(pretty_pagename)))
1.129 + output.append(fmt.div(on=1, css_class=(" ".join(css_classes)),
1.130 + style=("background-color: rgb(%d, %d, %d); color: rgb(%d, %d, %d);" % (bg + fg))))
1.131
1.132 - output.append(fmt.div(on=0))
1.133 + if not hide_text:
1.134 + output.append(event_page.link_to_raw(request, wikiutil.escape(pretty_pagename)))
1.135 +
1.136 + output.append(fmt.div(on=0))
1.137
1.138 - # End of day.
1.139 + # End of day.
1.140
1.141 - output.append(fmt.table_cell(on=0))
1.142 + output.append(fmt.table_cell(on=0))
1.143
1.144 - # End of set.
1.145 + # End of set.
1.146
1.147 - output.append(fmt.table_row(on=0))
1.148 + output.append(fmt.table_row(on=0))
1.149
1.150 # Process the next week...
1.151