""" General PyAFS utilities, such as error handling """ import sys cdef int _init = 0 class AFSException(Exception): def __init__(self, errno, message): self.errno = errno self.strerror = afs_error_message(errno) self.message = message def __repr__(self): return "AFSException(%s, %s)" % (self.errno, self.message) def __str__(self): return "[%s] (%s) while %s" % (self.errno, self.strerror, self.message) def pyafs_error(code, msg): if not _init: initialize_ACFG_error_table() initialize_KTC_error_table() initialize_PT_error_table() initialize_RXK_error_table() initialize_U_error_table() _init = 1 if code != 0: raise AFSException(code, msg)