示例#1
0
    def get(self, key):
        model = self._model_cls.get_by_pk(key)
        if model is None:
            if key in settings.DEFAULT_CONFIG:
                model = self._model_cls(key=key,
                                        **settings.DEFAULT_CONFIG[key])
                model.save()
            else:
                raise

        try:
            if model.module == 'datetime':
                _value = validate_datetime(validate_list(model.value))
            elif model.module == 'timedelta<list>':
                _value = validate_timedelta(validate_list(model.value))
            elif model.module == 'timedelta<dict>':
                _value = validate_timedelta(validate_dict(model.value))
            elif model.module == 'time':
                _value = validate_time(validate_list(model.value))
            elif model.module == 'list':
                _value = validate_list(model.value)
            elif model.module == 'list<int>':
                _value = validate_list(model.value, validate=validate_int)
            elif model.module == 'dict':
                _value = validate_dict(model.value)
            else:
                try:
                    _module = validate_value(model.module)
                except:
                    _module = lazy_loader(model.module)
                _value = _module(model.value)
        except:
            _value = model.value

        return _value
示例#2
0
    def error_context(self, message=None, code=500, *args, **kwargs):
        if message is None:
            msg = self.status_message(code)
            try:
                if msg == 'I\'m a teapot':
                    cls_name = 'ImATeapot'
                else:
                    cls_name = ''.join(msg.split(' '))

                error_cls = lazy_loader('werkzeug.exceptions.%s' % cls_name)
                return error_cls().get_body()
            except:
                return '%d %s' % (code, msg.upper())
        else:
            return message