当前位置: 首页>>代码示例>>Python>>正文


Python Invalid.add方法代码示例

本文整理汇总了Python中colander.Invalid.add方法的典型用法代码示例。如果您正苦于以下问题:Python Invalid.add方法的具体用法?Python Invalid.add怎么用?Python Invalid.add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在colander.Invalid的用法示例。


在下文中一共展示了Invalid.add方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: validator

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
 def validator(node, value):
     rate_validator = registry.getAdapter(value['object'], IRateValidator)
     if not rate_validator.validate(value['rate']):
         error = Invalid(node, msg='')
         msg = rate_validator.helpful_error_message()
         error.add(Invalid(node['rate'], msg=msg))
         raise error
开发者ID:Janaba,项目名称:adhocracy3,代码行数:9,代码来源:rate.py

示例2: deserialize

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
    def deserialize(self, field, pstruct):
        result = []
        error = None

        if pstruct is null:
            pstruct = []

        field.sequence_fields = []
        item_field = field.children[0]

        for num, substruct in enumerate(pstruct):
            subfield = item_field.clone()
            try:
                subval = subfield.deserialize(substruct)
            except Invalid as e:
                subval = e.value
                if error is None:
                    error = Invalid(field.schema, value=result)
                error.add(e, num)

            result.append(subval)
            field.sequence_fields.append(subfield)

        if error is not None:
            raise error

        return result
开发者ID:microvac,项目名称:borobudur,代码行数:29,代码来源:widget.py

示例3: convert_types

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
def convert_types(mapping, row):
    """ Translate a row of input data (e.g. from a CSV file) into the
    structure understood by the dataset loader, i.e. where all 
    dimensions are dicts and all types have been converted. 

    This will validate the incoming data and emit a colander.Invalid
    exception if validation was unsuccessful."""
    out = {}
    errors = Invalid(SchemaNode(Mapping(unknown="preserve")))

    for dimension, meta in mapping.items():
        meta["dimension"] = dimension

        # handle AttributeDimensions, Measures and DateDimensions.
        # this is clever, but possibly not always true.
        if "column" in meta:
            try:
                out[dimension] = _cast(row, meta, dimension)
            except Invalid, i:
                errors.add(i)

        # handle CompoundDimensions.
        else:
            out[dimension] = {}

            for attribute, ameta in meta.get("attributes", {}).items():
                try:
                    out[dimension][attribute] = _cast(row, ameta, dimension + "." + attribute)
                except Invalid, i:
                    errors.add(i)
开发者ID:openspending-archive,项目名称:osvalidate,代码行数:32,代码来源:data.py

示例4: deserialize

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
    def deserialize(self, field, pstruct):
        error = None

        result = {}

        if pstruct is null:
            pstruct = {}

        checkbox_schema = pstruct.get(self.checkbox_element, null)
        if checkbox_schema is null:
            return null

        result[self.checkbox_element] = True

        for num, subfield in enumerate(field.children):
            name = subfield.name
            subval = pstruct.get(name, null)

            try:
                result[name] = subfield.deserialize(subval)
            except Invalid as e:
                result[name] = e.value
                if error is None:
                    error = Invalid(field.schema, value=result)
                error.add(e, num)

        if error is not None:
            raise error

        result[self.checkbox_element] = True
        return result
开发者ID:jcu-eresearch,项目名称:TDH-rich-data-capture,代码行数:33,代码来源:deform_widgets.py

示例5: validate_user_is_active

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
 def validate_user_is_active(node: SchemaNode, value: dict):
     user = request.validated.get('user', None)
     if user is None:
         return
     elif not user.active:
         error = Invalid(node)
         error.add(Invalid(node[child_node_name],
                           msg='User account not yet activated'))
         raise error
开发者ID:Janaba,项目名称:adhocracy3,代码行数:11,代码来源:schemas.py

示例6: validate_rate_is_unique

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
 def validate_rate_is_unique(node, value):
     existing = _get_rates_user_non_anonymized(context, request, value)
     existing += _get_rates_user_anonymized(context, request, value)
     existing = _remove_following_versions(existing, context, request)
     if existing:
         error = Invalid(node, msg='')
         msg = 'Another rate by the same user already exists'
         error.add(Invalid(node['object'], msg=msg))
         raise error
开发者ID:liqd,项目名称:adhocracy3,代码行数:11,代码来源:rate.py

示例7: validate_login_password

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
 def validate_login_password(node: SchemaNode, value: dict):
     password = value['password']
     user = request.validated.get('user', None)
     if user is None:
         return
     valid = user.is_password_valid(registry, password)
     if not valid:
         error = Invalid(node)
         error.add(Invalid(node['password'], msg=error_msg_wrong_login))
         raise error
开发者ID:liqd,项目名称:adhocracy3,代码行数:12,代码来源:schemas.py

示例8: validate_login_password

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
 def validate_login_password(node: SchemaNode, value: dict):
     password = value['password']
     user = request.validated.get('user', None)
     if user is None:
         return
     sheet = registry.content.get_sheet(user, IPasswordAuthentication)
     valid = sheet.check_plaintext_password(password)
     if not valid:
         error = Invalid(node)
         error.add(Invalid(node['password'], msg=error_msg_wrong_login))
         raise error
开发者ID:Janaba,项目名称:adhocracy3,代码行数:13,代码来源:schemas.py

示例9: validate_login

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
 def validate_login(node: SchemaNode, value: dict):
     login = value[child_node_name]
     locator = registry.getMultiAdapter((context, request), IUserLocator)
     if child_node_name == 'email':
         login = login.lower().strip()
         user = locator.get_user_by_email(login)
     else:
         user = locator.get_user_by_login(login)
     if user is None:
         error = Invalid(node)
         error.add(Invalid(node['password'], msg=error_msg_wrong_login))
         raise error
     else:
         request.validated['user'] = user
开发者ID:Janaba,项目名称:adhocracy3,代码行数:16,代码来源:schemas.py

示例10: validate_entity

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
def validate_entity(data, schema, context, deep=True):
    schema = entity_schema(schema)
    inv = Invalid(schema)
    try:
        data = schema.deserialize(data)
    except Invalid as inv_real:
        inv = inv_real

    if deep:
        for direction, attribute in (('incoming', 'source'), ('outgoing', 'target')):
            data[direction], i = validate_deep(data, context, direction, attribute)
            if len(i.children):
                inv.add(i)

    if len(inv.children):
        raise inv
    return data
开发者ID:jmorenoamor,项目名称:grano,代码行数:19,代码来源:entity.py

示例11: deserialize

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
    def deserialize(self, field, pstruct):
        error = None
        
        result = {}

        if pstruct is null:
            pstruct = {}

        for num, subfield in enumerate(field.children):
            name = subfield.name
            subval = pstruct.get(name, null)
                            
            try:
                result[name] = subfield.deserialize(subval)
            except Invalid, e:
                result[name] = e.value
                if error is None:
                    error = Invalid(field.schema, value=result)
                error.add(e, num)
开发者ID:cguardia,项目名称:deform,代码行数:21,代码来源:widget.py

示例12: validate_deep

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
def validate_deep(data, context, direction, attribute):
    relations = []
    node = sequence(direction)
    inv = Invalid(node)
    for i, relation_data in enumerate(data.get(direction, [])):
        try:
            other = relation_data.get(attribute, {})
            schema = context.network.get_relation_schema(relation_data.get('type'))
            if schema is None:
                raise Invalid(node, "Invalid relation type: %e" % relation_data.get('type'))
            relation = validate_relation(relation_data, schema, context, ignore_entities=True)

            schema = context.network.get_entity_schema(other.get('type'))
            if schema is None:
                raise Invalid(node, "Invalid entity type: %e" % other.get('type'))
            relation[attribute] = validate_entity(other, schema, context, deep=False)

            relations.append(relation)
        except Invalid as sub:
            inv.add(sub, i)
    return relations, inv
开发者ID:jmorenoamor,项目名称:grano,代码行数:23,代码来源:entity.py

示例13: sequence_impl

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
def sequence_impl(self, node, value, callback, accept_scalar):
    if accept_scalar is None:
        accept_scalar = self.accept_scalar

    value = self._validate(node, value, accept_scalar)

    error = None
    result = []

    for num, subval in enumerate(value):
        try:
            result.append(callback(node.children[0], subval))
        except Invalid as e:
            if error is None:
                error = Invalid(node)
            error.add(e, num)

    if error is not None:
        raise error

    if not result:
        return null
    return result
开发者ID:hugobranquinho,项目名称:ines,代码行数:25,代码来源:fields.py

示例14: _impl

# 需要导入模块: from colander import Invalid [as 别名]
# 或者: from colander.Invalid import add [as 别名]
    def _impl(self, node, value, callback):
        value = self._validate(node, value)

        error = None
        result = {}

        for index, (k, v) in enumerate(value.iteritems()):
            key_node = node["key"]
            value_node = node["value"].clone()
            value_node.name = k

            try:
                name = callback(key_node, k)
                result[name] = callback(value_node, v)
            except Invalid as e:
                if error is None:
                    error = Invalid(node)
                error.add(e, index)

        if error is not None:
            raise error

        return result
开发者ID:platformsh,项目名称:colander-tools,代码行数:25,代码来源:mapping.py


注:本文中的colander.Invalid.add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。