Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
try:
new_params[field] = validator.to_python(params.get(field),
state)
# catch individual validation errors into the errors dictionary
except formencode.api.Invalid, inv:
errors[field] = inv
# Parameters that don't have validators are returned verbatim
for param, param_value in params.items():
if not param in new_params:
new_params[param] = param_value
# If there are errors, create a compound validation error based on
# the errors dictionary, and raise it as an exception
if errors:
raise formencode.api.Invalid(
formencode.schema.format_compound_error(errors),
params, None, error_dict=errors)
elif isinstance(validation.validators, formencode.Schema):
# A FormEncode Schema object - to_python converts the incoming
# parameters to sanitized Python values
new_params = validation.validators.to_python(params, state)
elif (hasattr(validation.validators, 'validate')
and getattr(validation, 'needs_controller', False)):
# An object with a "validate" method - call it with the parameters
new_params = validation.validators.validate(controller, params, state)
elif hasattr(validation.validators, 'validate'):
# An object with a "validate" method - call it with the parameters
new_params = validation.validators.validate(params, state)
# The validator may be a dictionary, a FormEncode Schema object, or any
# object with a "validate" method.
if isinstance(validation.validators, dict):
# TG developers can pass in a dict of param names and FormEncode
# validators. They are applied one by one and builds up a new set
# of validated params.
errors = {}
for field, validator in validation.validators.iteritems():
try:
# XXX: Is this necessary to call twice?
#validator.to_python(params.get(field), state)
new_params[field] = validator.to_python(params.get(field),
state)
# catch individual validation errors into the errors dictionary
except formencode.api.Invalid, inv:
errors[field] = inv
# Parameters that don't have validators are returned verbatim
for param, param_value in params.items():
if not param in new_params:
new_params[param] = param_value
# If there are errors, create a compound validation error based on
# the errors dictionary, and raise it as an exception
if errors:
raise formencode.api.Invalid(
formencode.schema.format_compound_error(errors),
params, None, error_dict=errors)
elif isinstance(validation.validators, formencode.Schema):
# A FormEncode Schema object - to_python converts the incoming
def _to_python(self, value, state):
try:
return parse(value)
except ValueError:
if self.if_invalid!=formencode.api.NoDefault:
return self.if_invalid
else:
raise
try:
new_params[field] = validator.to_python(params.get(field),
state)
# catch individual validation errors into the errors dictionary
except formencode.api.Invalid, inv:
errors[field] = inv
# Parameters that don't have validators are returned verbatim
for param, param_value in params.items():
if not param in new_params:
new_params[param] = param_value
# If there are errors, create a compound validation error based on
# the errors dictionary, and raise it as an exception
if errors:
raise formencode.api.Invalid(
formencode.schema.format_compound_error(errors),
params, None, error_dict=errors)
elif isinstance(validation.validators, formencode.Schema):
# A FormEncode Schema object - to_python converts the incoming
# parameters to sanitized Python values
new_params = validation.validators.to_python(params, state)
elif (hasattr(validation.validators, 'validate')
and getattr(validation, 'needs_controller', False)):
# An object with a "validate" method - call it with the parameters
new_params = validation.validators.validate(controller, params, state)
elif hasattr(validation.validators, 'validate'):
# An object with a "validate" method - call it with the parameters
new_params = validation.validators.validate(params, state)
tmp_exfeed_list = []
tmp_exfeed_list.append(exfeed_val)
else:
tmp_exfeed_list = exfeed_val
if new_exfeed is not None and new_exfeed != '':
tmp_exfeed_list.append(new_exfeed)
exfeed_list = []
invalid_list = []
v = validators.URL()
for link in tmp_exfeed_list:
try:
v.to_python(link)
exfeed_list.append(link)
except formencode.api.Invalid:
invalid_list.append(link)
self.app.external_feeds_list = exfeed_list
flash('External feeds updated')
if len(invalid_list) > 0:
flash('Invalid link(s): %s' %
','.join(link for link in invalid_list), 'error')
redirect(request.referer or '/')
validation = getattr(controller.decoration, 'validation', None)
if validation is None:
return params
new_params = None
if isinstance(validation.validators, dict):
errors = {}
#new_params = {}
for field, validator in validation.validators.iteritems():
try:
new_params[field] = validator.to_python(params.get(field))
except formencode.api.Invalid, inv:
errors[field] = inv
if errors:
raise formencode.api.Invalid(
formencode.schema.format_compound_error(errors),
params, None, error_dict=errors)
elif isinstance(validation.validators, formencode.Schema):
new_params = validation.validators.to_python(params)
elif hasattr(validation.validators, 'validate'):
new_params = validation.validators.validate(params)
if new_params is None:
return params
return new_params
'tools.encode.on': True, 'tools.encode.encoding': 'utf-8',
'tools.decode.on': True,
'tools.trailing_slash.on': True,
'tools.staticdir.root': os.path.abspath(os.path.dirname(__file__)),
})
cherrypy.quickstart(Root(data), '/', {
'/media': {
'tools.staticdir.on': True,
'tools.staticdir.dir': 'static'
}
})
if __name__ == '__main__':
import formencode
formencode.api.set_stdtranslation(languages=['en'])
main(sys.argv[1])
def pylons_formencode_gettext(value):
"""Translates a string ``value`` using pylons gettext first and if
that fails, formencode gettext.
This allows to "merge" localized error messages from built-in
FormEncode's validators with application-specific validators.
"""
trans = pylons_gettext(value)
if trans == value:
# translation failed, try formencode
trans = api._stdtrans(value)
return trans
'tools.encode.on': True, 'tools.encode.encoding': 'utf-8',
'tools.decode.on': True,
'tools.trailing_slash.on': True,
'tools.staticdir.root': os.path.abspath(os.path.dirname(__file__)),
})
cherrypy.quickstart(Root(data), '/', {
'/media': {
'tools.staticdir.on': True,
'tools.staticdir.dir': 'static'
}
})
if __name__ == '__main__':
import formencode
formencode.api.set_stdtranslation(languages=['en'])
main(sys.argv[1])
def _perform_validate(self, controller, params):
validation = getattr(controller.decoration, 'validation', None)
if validation is None:
return params
new_params = None
if isinstance(validation.validators, dict):
errors = {}
#new_params = {}
for field, validator in validation.validators.iteritems():
try:
new_params[field] = validator.to_python(params.get(field))
except formencode.api.Invalid, inv:
errors[field] = inv
if errors:
raise formencode.api.Invalid(
formencode.schema.format_compound_error(errors),
params, None, error_dict=errors)
elif isinstance(validation.validators, formencode.Schema):
new_params = validation.validators.to_python(params)
elif hasattr(validation.validators, 'validate'):
new_params = validation.validators.validate(params)
if new_params is None:
return params
return new_params