# -*- coding: utf-8 -*- """ invenio_tools.exception """ class ExceptionUTF8(Exception): """Exception in which unicode arguments are encoded as a string. """ def __init__(self, *args): args = (list(args) if isinstance(args, tuple) else args) for i in range(len(args)): if isinstance(args[i], unicode): args[i] = args[i].encode('utf-8') Exception.__init__(self, *args) class CdsException(ExceptionUTF8): pass class CheckException(ExceptionUTF8): pass class Marc12Exception(ExceptionUTF8): pass class RecordException(ExceptionUTF8): pass class XmlException(ExceptionUTF8): pass