~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/webapp/base/forms.py

  • Committer: William Grant
  • Date: 2010-02-24 09:51:04 UTC
  • Revision ID: grantw@unimelb.edu.au-20100224095104-nl3ndy0cysz2ioad
Add support for "really deep" (more than two segment) views.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
17
 
18
18
import re
19
 
import datetime
20
19
 
21
20
import formencode
22
21
import formencode.validators
118
117
                'Must consist of a lowercase alphanumeric character followed '
119
118
                'by any number of lowercase alphanumerics, ., +, - or _.',
120
119
                value, state)
121
 
 
122
 
class DateTimeValidator(formencode.validators.FancyValidator):
123
 
    """Accepts a date/time in YYYY-MM-DD HH:MM:SS format. Converts to a
124
 
    datetime.datetime object."""
125
 
    def _to_python(self, value, state):
126
 
        """Validate and convert."""
127
 
        try:
128
 
            return datetime.datetime.strptime(value, "%Y-%m-%d %H:%M:%S")
129
 
        except ValueError, e:
130
 
            raise formencode.Invalid("Must be a timestamp in "
131
 
                "YYYY-MM-DD HH:MM:SS format", value, state)
132
 
    def _from_python(self, value, state):
133
 
        try:
134
 
            return value.strftime("%Y-%m-%d %H:%M:%S")
135
 
        except AttributeError:
136
 
            raise formencode.Invalid("Must be a datetime.datetime object")