validator_diy.py 文件源码

python
阅读 33 收藏 0 点赞 0 评论 0

项目:evolution 作者: tanchao90 项目源码 文件源码
def _toStardardCondition(condition):
    '''?????????????????'''

    # class condition
    if inspect.isclass(condition):
        info = "must be %s type" % condition.__name__
        return lambda x: isinstance(x, condition) or info

    if isinstance(condition, (tuple, list)):
        cls, condition = condition[:2]
        if condition is None:
            return _toStardardCondition(cls)

        # regular condition
        if cls in (str, unicode) and condition[0] == condition[-1] == '/':
            info = 'must match regular expression: %s' % condition
            return lambda x: (isinstance(x, cls) and re.match(condition[1:-1], x) is not None) or info

        # pure str condition
        info = 'must satisfy rule: %s' % condition
        return lambda x: (isinstance(x, cls) and eval(condition)) or info

    # fcuntion condition
    return condition
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号