Ejemplo n.º 1
0
class CausedError(Exception, Fossilizable):
    """
    A normal error, triggered on the server side
    """

    fossilizes(ICausedErrorFossil)

    def __init__(self, code, message, inner=None, type=None):
        self.code = code
        self.message = message
        self.inner = inner
        self.type = type

    def getMessage(self):
        return self.message

    def getCode(self):
        return self.code

    def getInner(self):
        return self.inner

    def getType(self):
        return self.type

    def __str__(self):
        if not self.inner:
            return "%s : %s (no inner exception)" % (self.code, self.message)
        else:
            if type(self.inner) is list:
                inner = "\r\n".join(self.inner)
            else:
                inner = self.inner
            return "%s : %s\r\n\r\nInner Exception:\r\n%s" % (
                self.code, self.message, inner)
Ejemplo n.º 2
0
class MaKaCError(Exception, Fossilizable):

    fossilizes(IErrorReportFossil)

    def __init__(self, msg="", area="", explanation=None):
        self._msg = self.message = msg
        self._area = area
        self._explanation = explanation

    def getMessage(self):
        return self._msg

    @ensure_str
    def __str__(self):
        if self._area != "":
            return "%s - %s" % (self._area, self._msg)
        else:
            return self._msg

    def getArea(self):
        return self._area

    def getExplanation(self):
        """
        Some extra information, like actions that can be taken
        """

        return self._explanation
Ejemplo n.º 3
0
class HTTPAPIResult(Fossilizable):
    fossilizes(IHTTPAPIResultFossil)

    def __init__(self, results, path='', query='', ts=None, complete=True, extra=None):
        if ts is None:
            ts = int(time.time())
        self._results = results
        self._path = path
        self._query = query
        self._ts = ts
        self._complete = complete
        self._extra = extra or {}

    def getTS(self):
        return self._ts

    def getURL(self):
        prefix = config.BASE_URL
        if self._query:
            return prefix + self._path + '?' + self._query
        return prefix + self._path

    def getCount(self):
        return len(self._results)

    def getResults(self):
        return self._results

    def getComplete(self):
        return self._complete

    def getAdditionalInfo(self):
        return self._extra
Ejemplo n.º 4
0
class NotFoundError(MaKaCError):
    """
    Legacy indico's own NotFound version (just for legacy support)
    """
    fossilizes(IErrorNoReportFossil)

    def __init__(self, message, title=""):
        if not title:
            title = message
            message = ''
        super(NotFoundError, self).__init__(title, explanation=message)
Ejemplo n.º 5
0
class HTTPAPIError(Exception, Fossilizable):
    fossilizes(IHTTPAPIErrorFossil)

    def __init__(self, message, code=None):
        self.message = message
        self.code = code

    def getMessage(self):
        return self.message

    def getCode(self):
        return self.code
Ejemplo n.º 6
0
class ConferenceClosedError(MaKaCError):
    """
    """
    fossilizes(IErrorNoReportFossil)

    def __init__(self, conf):
        MaKaCError.__init__(self)
        self._conf = conf

    @ensure_str
    def __str__(self):
        return _("the event has been closed")
Ejemplo n.º 7
0
class AccessControlError(MaKaCError):
    """
    """

    fossilizes(IErrorNoReportFossil)

    def __init__(self, objectType="object"):
        MaKaCError.__init__(self)
        self.objType = objectType

    @ensure_str
    def __str__(self):
        return _("you are not authorised to access this %s") % self.objType

    def getMessage(self):
        return str(self)
Ejemplo n.º 8
0
class NoReportError(CausedError):
    """
    An error that doesn't get reported (no log entry, no warning e-mail,
    no error report form)
    """

    fossilizes(INoReportErrorFossil)

    def __init__(self, message, inner=None, title=None, explanation=None):
        CausedError.__init__(self, "", message, inner, "noReport")
        self._title = title
        self._explanation = explanation

    def getTitle(self):
        """
        A title for the error (optional)
        """
        return self._title

    def getExplanation(self):
        return self._explanation
Ejemplo n.º 9
0
class NoReportError(MaKaCError):
    """
    """
    fossilizes(IErrorNoReportFossil)