--- a/helpers.py Mon Feb 09 06:56:04 2009 +0200
+++ b/helpers.py Mon Feb 09 07:06:49 2009 +0200
@@ -2,9 +2,11 @@
Some additional helpers
"""
+import datetime, calendar
+
import qmsk.web.helpers
-import datetime, calendar
+import preferences
class Helpers (qmsk.web.helpers.Helpers) :
"""
@@ -18,14 +20,6 @@
return str(tz)
- def fmt_date (self, date) :
- """
- Formats a date
- """
-
- # XXX: hardcoded
- return date.strftime('%Y-%m-%d')
-
def fmt_month (self, date) :
"""
Formats a month
@@ -121,4 +115,26 @@
else :
return month.month + 1
+
+ def fmt_time (self, time=None) :
+ """
+ Format given time, or current time
+ """
+
+ # defaults
+ if not time :
+ time = self.now()
+ return time.strftime(self.ctx['prefs'][preferences.time_format])
+
+ def fmt_date (self, date=None) :
+ """
+ Format given date, or current date
+ """
+
+ # defaults
+ if not date :
+ date = self.now()
+
+ return date.strftime(self.ctx['prefs'][preferences.date_format])
+
--- a/static/irclogs.css Mon Feb 09 06:56:04 2009 +0200
+++ b/static/irclogs.css Mon Feb 09 07:06:49 2009 +0200
@@ -223,4 +223,41 @@
font-weight: bold;
}
+/* Preferences form */
+fieldset {
+ background-color: #e8e8e8;
+ margin-bottom: 1em;
+}
+
+legend {
+ padding: 0.2em 0.5em;
+
+ background-color: inherit;
+ border: inherit;
+}
+
+label {
+ display: block;
+ float: left;
+
+ width: 8em;
+ margin-right: 0.5em;
+
+ text-align: right;
+}
+
+fieldset input,
+fieldset select {
+ width: 15em;
+}
+
+input[type=submit] {
+ width: 8em;
+}
+
+fieldset span.example {
+ font-size: x-small;
+
+ margin-left: 1em;
+}
--- a/templates/preferences.tmpl Mon Feb 09 06:56:04 2009 +0200
+++ b/templates/preferences.tmpl Mon Feb 09 07:06:49 2009 +0200
@@ -6,33 +6,40 @@
<fieldset>
<legend>Dates / Times</legend>
- <label for="timezone">Timezone:</label>
- <select name="timezone">
- % for tz_name in timezones :
- <option${' selected="selected"' if tz_name == prefs[preferences.timezone].zone else ''}>${tz_name}</option>
- % endfor
- </select>
- <br/>
+ <p>
+ <label for="timezone">Timezone:</label>
+ <select name="timezone">
+ % for tz_name in timezones :
+ <option${' selected="selected"' if tz_name == prefs[preferences.timezone].zone else ''}>${tz_name}</option>
+ % endfor
+ </select>
+ </p>
- <label for="date_format">Date format:</label>
- <input type="text" name="date_format" value="${prefs[preferences.date_format]}" />
- <br/>
+ <p>
+ <label for="date_format">Date format:</label>
+ <input type="text" name="date_format" value="${prefs[preferences.date_format]}" />
+ <span class="example">(${h.fmt_date()})</span>
+ </p>
- <label for="time_format">Time format:</label>
- <input type="text" name="time_format" value="${prefs[preferences.time_format]}" />
- <br/>
+ <p>
+ <label for="time_format">Time format:</label>
+ <input type="text" name="time_format" value="${prefs[preferences.time_format]}" />
+ <span class="example">(${h.fmt_time()})</span>
+ </p>
</fieldset>
<fieldset>
<legend>Log Output</legend>
-
- <label for="formatter">Formatter:</label>
- <select name="formatter">
- % for fmt_name, fmt in preferences.formatter.formatters.iteritems() :
- <option value="${fmt_name}">${fmt.title}</option>
- % endfor
- </select>
+
+ <p>
+ <label for="formatter">Formatter:</label>
+ <select name="formatter">
+ % for fmt_name, fmt in preferences.formatter.formatters.iteritems() :
+ <option value="${fmt_name}">${fmt.title}</option>
+ % endfor
+ </select>
+ </p>
</fieldset>
<input type="submit" value="Save" />