--- a/helpers.py Wed Feb 11 22:56:43 2009 +0200
+++ b/helpers.py Wed Feb 11 23:22:13 2009 +0200
@@ -2,7 +2,8 @@
Some additional helpers
"""
-import datetime, calendar
+import datetime
+import calendar as _calendar
import qmsk.web.helpers
@@ -17,7 +18,10 @@
set = set
# reference to calendar instance
- calendar = calendar.Calendar()
+ calendar = _calendar.Calendar()
+
+ # list of (month_num, month_name) for the months in the year
+ months = list(enumerate(_calendar.month_name))[1:]
def tz_name (self, tz) :
"""
@@ -38,7 +42,7 @@
Formats an abbreviated weekday name
"""
- return calendar.day_abbr[wday]
+ return _calendar.day_abbr[wday]
def build_date (self, month, mday) :
"""
@@ -198,15 +202,17 @@
return max(values)
- def select_options (self, key_values, selected_key) :
+ def select_options (self, key_values, selected_key=None) :
"""
- Render a series of <option> tags for <select>
+ Render a series of <option> tags for <select>.
+
+ The given key_values is an iterable of (key, value) pairs, key may be None if it's the same as value.
"""
return '\n'.join(
'\t<option%s%s>%s</option>' % (
- ' value="%s"' % key if key != value else '',
- ' selected="selected"' if key == selected_key else '',
+ ' value="%s"' % key if key is not None else '',
+ ' selected="selected"' if (key if key is not None else value) == selected_key else '',
value
) for key, value in key_values
)