Webster is a self validating dict object for python.
Project description
Webster
=======
Webster is a self validating dict object for python.
It expands upon dict's capability by allowing you to pass in a validation
dict object with either types or regular expression values.
Then you can use it for validation by using it as a condition or get
back a detailed error response.
import Webster
# create a schema
schema = {'amount': '([+-]?\\d*\\.\\d+)(?![-+0-9\\.])',
'credit_card': {
'number': '((?:(?:\\d{4}[- ]){3}\\d{4}|\\d{16}))(?![\\d])',
'expiration_date': '((?:(?:0[1-9])|(?:1[0-2]))\\/(?:\\d{2}))(?![\\d])'}
}
# create the object and pass the schema into the init
im_a_dict = Webster(schema)
# add your values
im_a_dict['amount'] = '1.00'
im_a_dict['credit_card'] = {}
im_a_dict['credit_card']['number'] = '4111111111111111'
im_a_dict['credit_card']['expiration_date'] = '05/12'
# lets see if we are valid or not
print im_a_dict.is_valid()
=======
Webster is a self validating dict object for python.
It expands upon dict's capability by allowing you to pass in a validation
dict object with either types or regular expression values.
Then you can use it for validation by using it as a condition or get
back a detailed error response.
import Webster
# create a schema
schema = {'amount': '([+-]?\\d*\\.\\d+)(?![-+0-9\\.])',
'credit_card': {
'number': '((?:(?:\\d{4}[- ]){3}\\d{4}|\\d{16}))(?![\\d])',
'expiration_date': '((?:(?:0[1-9])|(?:1[0-2]))\\/(?:\\d{2}))(?![\\d])'}
}
# create the object and pass the schema into the init
im_a_dict = Webster(schema)
# add your values
im_a_dict['amount'] = '1.00'
im_a_dict['credit_card'] = {}
im_a_dict['credit_card']['number'] = '4111111111111111'
im_a_dict['credit_card']['expiration_date'] = '05/12'
# lets see if we are valid or not
print im_a_dict.is_valid()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Webster-0.5.1.tar.gz
(6.8 kB
view hashes)