def _catch_except(*args, **kwargs): """ catch exception raised by func """ try: request = args[0] return func(*args, **kwargs) except (FormatterError, RequiredNoDefaultError, RequiredLackedError, MethodError, ParameterError), err: _LOGGER.error(err) return parameter_error(request, str(err))
def get_optional_parameter(request, name, default=None, formatter=None, method='GET'): ''' Get optional parameter of http request ''' if method == 'GET': value = request.GET.get(name, default) else: value = request.POST.get(name, default) if value is not None and formatter: try: value = formatter(value) except: if default is None: return None, parameter_error(request, name) else: return default, None return value, None