helpers.py
changeset 113 9fc0eb751b6a
parent 112 090192b64d7e
child 114 d4848d807fd1
--- 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
         )