X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=bindings%2Fpython%2Fnotmuch%2Fglobals.py;h=77f2905b2fb405d3583e98525e463430ec2ea4c4;hb=c49bcfd4e2b539e65b0b4d59a414c2101f5178a2;hp=8b0d8d0b41a7c205980f425aaafca6cbf81742aa;hpb=3b558de7811a765c3295a58bd53e2156eca0e32e;p=notmuch diff --git a/bindings/python/notmuch/globals.py b/bindings/python/notmuch/globals.py index 8b0d8d0b..77f2905b 100644 --- a/bindings/python/notmuch/globals.py +++ b/bindings/python/notmuch/globals.py @@ -27,17 +27,16 @@ try: except: raise ImportError("Could not find shared 'notmuch' library.") -#----------------------------------------------------------------------------- + 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 Status(Enum): """Enum with a string representation of a notmuch_status_t value.""" - __name__="foo" _status2str = nmlib.notmuch_status_to_string _status2str.restype = c_char_p _status2str.argtypes = [c_int] @@ -50,10 +49,10 @@ class Status(Enum): @classmethod def status2str(self, status): - """Get a string representation of a notmuch_status_t value.""" + """Get a string representation of a notmuch_status_t value.""" # define strings for custom error messages if status == STATUS.NOT_INITIALIZED: - return "Operation on uninitialized object impossible." + return "Operation on uninitialized object impossible." return str(Status._status2str(status)) STATUS = Status(['SUCCESS', @@ -67,6 +66,26 @@ STATUS = Status(['SUCCESS', 'TAG_TOO_LONG', 'UNBALANCED_FREEZE_THAW', 'NOT_INITIALIZED']) +"""STATUS is a class, whose attributes provide constants that serve as return +indicators for notmuch functions. Currently the following ones are defined. For +possible return values and specific meaning for each method, see the method +description. + + * SUCCESS + * OUT_OF_MEMORY + * READ_ONLY_DATABASE + * XAPIAN_EXCEPTION + * FILE_ERROR + * FILE_NOT_EMAIL + * DUPLICATE_MESSAGE_ID + * NULL_POINTER + * TAG_TOO_LONG + * UNBALANCED_FREEZE_THAW + * NOT_INITIALIZED + +Invoke the class method `notmuch.STATUS.status2str` with a status value as +argument to receive a human readable string""" +STATUS.__name__ = 'STATUS' class NotmuchError(Exception): @@ -75,6 +94,7 @@ class NotmuchError(Exception): super(NotmuchError, self).__init__(message, status) def __str__(self): - if self.args[0] is not None: return self.args[0] - else: return STATUS.status2str(self.args[1]) - + if self.args[0] is not None: + return self.args[0] + else: + return STATUS.status2str(self.args[1])