X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=bindings%2Fpython%2Fnotmuch%2Fglobals.py;h=11e328b76c6e8fbb94997ddbf19bcb0d47b41dd2;hp=f5fad72aa4edf638f98b2508e0bce501fd2a9e55;hb=HEAD;hpb=7bf5be75ae8e3c2d4e8c06bba8b44f4fd495349b diff --git a/bindings/python/notmuch/globals.py b/bindings/python/notmuch/globals.py deleted file mode 100644 index f5fad72a..00000000 --- a/bindings/python/notmuch/globals.py +++ /dev/null @@ -1,111 +0,0 @@ -""" -This file is part of notmuch. - -Notmuch is free software: you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation, either version 3 of the License, or (at your -option) any later version. - -Notmuch is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with notmuch. If not, see . - -Copyright 2010 Sebastian Spaeth -""" -import sys -from ctypes import CDLL, Structure, POINTER - -#----------------------------------------------------------------------------- -#package-global instance of the notmuch library -try: - nmlib = CDLL("libnotmuch.so.3") -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') - - -class Enum(object): - """Provides ENUMS as "code=Enum(['a','b','c'])" where code.a=0 etc...""" - def __init__(self, names): - for number, name in enumerate(names): - setattr(self, name, number) - - -class NotmuchDatabaseS(Structure): - pass -NotmuchDatabaseP = POINTER(NotmuchDatabaseS) - - -class NotmuchQueryS(Structure): - pass -NotmuchQueryP = POINTER(NotmuchQueryS) - - -class NotmuchThreadsS(Structure): - pass -NotmuchThreadsP = POINTER(NotmuchThreadsS) - - -class NotmuchThreadS(Structure): - pass -NotmuchThreadP = POINTER(NotmuchThreadS) - - -class NotmuchMessagesS(Structure): - pass -NotmuchMessagesP = POINTER(NotmuchMessagesS) - - -class NotmuchMessageS(Structure): - pass -NotmuchMessageP = POINTER(NotmuchMessageS) - - -class NotmuchTagsS(Structure): - pass -NotmuchTagsP = POINTER(NotmuchTagsS) - - -class NotmuchDirectoryS(Structure): - pass -NotmuchDirectoryP = POINTER(NotmuchDirectoryS) - - -class NotmuchFilenamesS(Structure): - pass -NotmuchFilenamesP = POINTER(NotmuchFilenamesS)