Hi,

there is a bug when the IS_MATCH validator is used with is_unicode=True
If the input contains non-ascii characters and is already unicode an 
UnicodeEncodeError occurs:

def __call__(self, value):
    if self.is_unicode and not isinstance(value,unicode):
        match = self.regex.search(str(value).decode('utf8'))
    else:
        match = self.regex.search(str(value))


this happens because the else branch is executed. A possible fix:

def __call__(self, value):
    if self.is_unicode:
        if not isinstance(value,unicode):
            match = self.regex.search(str(value).decode('utf8'))
        else:
            match = self.regex.search(value)
    else:
        match = self.regex.search(str(value))




Alex

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to