def _compile_type(self, schema):
        """ Compile type schema: plain type matching """
        # Prepare self
        self.compiled_type = const.COMPILED_TYPE.TYPE
        self.name = get_type_name(schema)

        # Error partials
        err_type = self.Invalid(_(u'Wrong type'), self.name)

        # Type check function
        if six.PY2 and schema is basestring:
            # Relaxed rule for Python2 basestring
            typecheck = lambda v: isinstance(v, schema)
        else:
            # Strict type check for everything else
            typecheck = lambda v: type(v) == schema

        # Matcher
        if self.matcher:
            def match_type(v):
                return typecheck(v), v
            return match_type

        # Validator
        def validate_type(v):
            # Type check
            if not typecheck(v):
                # expected=<type>, provided=<type>
                raise err_type(get_type_name(type(v)))
            # Fine
            return v

        return validate_type
def _compile_type ( self , schema ) : self . compiled_type = const . COMPILED_TYPE . TYPE self . name = get_type_name ( schema ) err_type = self . Invalid ( _ ( u'Wrong type' ) , self . name ) if six . PY2 and schema is basestring : typecheck = lambda v : isinstance ( v , schema ) else : typecheck = lambda v : type ( v ) == schema if self . matcher : def match_type ( v ) : return typecheck ( v ) , v return match_type def validate_type ( v ) : if not typecheck ( v ) : raise err_type ( get_type_name ( type ( v ) ) ) return v return validate_type
Compile type schema: plain type matching