X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/7e97553589f726785b899bbe3f74d06c316a02f3..52f3310349e34843fdcb00ae993766eeb6c05cc5:/lib/errors.py diff --git a/lib/errors.py b/lib/errors.py index 9f609d2..9de3b6d 100644 --- a/lib/errors.py +++ b/lib/errors.py @@ -43,6 +43,19 @@ ECODE_FAULT = "internal_error" # environment error (e.g. node disk error) ECODE_ENVIRON = "environment_error" +#: List of all failure types +ECODE_ALL = frozenset([ + ECODE_RESOLVER, + ECODE_NORES, + ECODE_INVAL, + ECODE_STATE, + ECODE_NOENT, + ECODE_EXISTS, + ECODE_NOTUNIQUE, + ECODE_FAULT, + ECODE_ENVIRON, + ]) + class GenericError(Exception): """Base exception for Ganeti. @@ -378,6 +391,24 @@ class LuxiError(GenericError): """ +class QueryFilterParseError(ParseError): + """Error while parsing query filter. + + """ + def GetDetails(self): + """Returns a list of strings with details about the error. + + """ + try: + (_, inner) = self.args + except IndexError: + return None + + return [str(inner.line), + (" " * (inner.column - 1)) + "^", + str(inner)] + + # errors should be added above