X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=bindings%2Fpython%2Fnotmuch%2Fglobals.py;h=05b9962a40a554ac83805191ac31fc745e181f51;hp=77f2905b2fb405d3583e98525e463430ec2ea4c4;hb=8e7a108363574ad3a342ed33a7c61c7dea65dc8a;hpb=bdaee77e1b0853b0dab00565e4c5b6164248f85a diff --git a/bindings/python/notmuch/globals.py b/bindings/python/notmuch/globals.py index 77f2905b..05b9962a 100644 --- a/bindings/python/notmuch/globals.py +++ b/bindings/python/notmuch/globals.py @@ -98,3 +98,15 @@ class NotmuchError(Exception): return self.args[0] else: return STATUS.status2str(self.args[1]) + +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 +