diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2012-05-17 18:13:55 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2012-05-17 18:23:11 +0200 |
commit | 8e3faa7f18d9ca87a77834d76f4b8db95669252b (patch) | |
tree | db944028fe1bdb2e1316a1de03752e5e5aeb3124 /bindings/python/notmuch/globals.py | |
parent | 643719dfce3bc1c9fa3a0d861076069d08d7bbbc (diff) |
python: add a file abstracting away differences between python 2 and 3
Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
Diffstat (limited to 'bindings/python/notmuch/globals.py')
-rw-r--r-- | bindings/python/notmuch/globals.py | 35 |
1 files changed, 2 insertions, 33 deletions
diff --git a/bindings/python/notmuch/globals.py b/bindings/python/notmuch/globals.py index f5fad72..c7632c3 100644 --- a/bindings/python/notmuch/globals.py +++ b/bindings/python/notmuch/globals.py @@ -16,7 +16,7 @@ along with notmuch. If not, see <http://www.gnu.org/licenses/>. Copyright 2010 Sebastian Spaeth <Sebastian@SSpaeth.de> """ -import sys + from ctypes import CDLL, Structure, POINTER #----------------------------------------------------------------------------- @@ -26,38 +26,7 @@ try: except: raise ImportError("Could not find shared 'notmuch' library.") - -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') - +from .compat import Python3StringMixIn, encode_utf8 as _str class Enum(object): """Provides ENUMS as "code=Enum(['a','b','c'])" where code.a=0 etc...""" |