def stringmethod(func):
    """ Validator factory which call a single method on the string. """
    method_name = func()

    @wraps(func)
    def factory():
        def validator(v):
            if not isinstance(v, six.string_types):
                raise Invalid(_(u'Not a string'), get_type_name(six.text_type), get_type_name(type(v)))
            return getattr(v, method_name)()
        return validator
    return factory
def stringmethod ( func ) : method_name = func ( ) @ wraps ( func ) def factory ( ) : def validator ( v ) : if not isinstance ( v , six . string_types ) : raise Invalid ( _ ( u'Not a string' ) , get_type_name ( six . text_type ) , get_type_name ( type ( v ) ) ) return getattr ( v , method_name ) ( ) return validator return factory
Validator factory which call a single method on the string.