fix #517: BytesQuery accepts unicode strings

This commit is contained in:
Adrian Sampson 2014-01-31 13:14:45 -08:00
parent baa55bea1b
commit 0d4698a8af

View file

@ -151,7 +151,11 @@ class BytesQuery(MatchQuery):
# Use a buffer representation of the pattern for SQLite
# matching. This instructs SQLite to treat the blob as binary
# rather than encoded Unicode.
if isinstance(self.pattern, bytes):
if isinstance(self.pattern, basestring):
# Implicitly coerce Unicode strings to their bytes
# equivalents.
if isinstance(self.pattern, unicode):
self.pattern = self.pattern.encode('utf8')
self.buf_pattern = buffer(self.pattern)
elif isinstance(self.pattern, buffer):
self.buf_pattern = self.pattern