mirror of
https://git.notmuchmail.org/git/notmuch
synced 2025-03-14 03:25:15 +01:00
py3k: add a specialized version of _str for python3
All strings are unicode strings in python 3 and the basestring and unicode types are removed hence the need for a specialized version. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
This commit is contained in:
parent
42e8f66edf
commit
7ddd849015
1 changed files with 22 additions and 12 deletions
|
@ -31,12 +31,34 @@ if sys.version_info[0] == 2:
|
|||
class Python3StringMixIn(object):
|
||||
def __str__(self):
|
||||
return unicode(self).encode('utf-8')
|
||||
|
||||
|
||||
def _str(value):
|
||||
"""Ensure a nicely utf-8 encoded string to pass to libnotmuch
|
||||
|
||||
C++ code expects strings to be well formatted and
|
||||
unicode strings to have no null bytes."""
|
||||
if not isinstance(value, basestring):
|
||||
raise TypeError("Expected str or unicode, got %s" % type(value))
|
||||
if isinstance(value, unicode):
|
||||
return value.encode('UTF-8')
|
||||
return value
|
||||
else:
|
||||
class Python3StringMixIn(object):
|
||||
def __str__(self):
|
||||
return self.__unicode__()
|
||||
|
||||
|
||||
def _str(value):
|
||||
"""Ensure a nicely utf-8 encoded string to pass to libnotmuch
|
||||
|
||||
C++ code expects strings to be well formatted and
|
||||
unicode strings to have no null bytes."""
|
||||
if not isinstance(value, str):
|
||||
raise TypeError("Expected str, got %s" % type(value))
|
||||
return value.encode('UTF-8')
|
||||
|
||||
|
||||
class Enum(object):
|
||||
"""Provides ENUMS as "code=Enum(['a','b','c'])" where code.a=0 etc..."""
|
||||
def __init__(self, names):
|
||||
|
@ -202,18 +224,6 @@ class NotInitializedError(NotmuchError):
|
|||
status = STATUS.NOT_INITIALIZED
|
||||
|
||||
|
||||
def _str(value):
|
||||
"""Ensure a nicely utf-8 encoded string to pass to libnotmuch
|
||||
|
||||
C++ code expects strings to be well formatted and
|
||||
unicode strings to have no null bytes."""
|
||||
if not isinstance(value, basestring):
|
||||
raise TypeError("Expected str or unicode, got %s" % str(type(value)))
|
||||
if isinstance(value, unicode):
|
||||
return value.encode('UTF-8')
|
||||
return value
|
||||
|
||||
|
||||
class NotmuchDatabaseS(Structure):
|
||||
pass
|
||||
NotmuchDatabaseP = POINTER(NotmuchDatabaseS)
|
||||
|
|
Loading…
Add table
Reference in a new issue