# Name:      lokai/lk_worker/__init__.py
# Purpose:   Package for graph-based data and tools
# Copyright: 2011: Database Associates Ltd.
#
#
#    Licensed under the Apache License, Version 2.0 (the "License");
#    you may not use this file except in compliance with the License.
#    You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS,
#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
#    See the License for the specific language governing permissions and
#    limitations under the License.

#-----------------------------------------------------------------------

""" Declare some exceptions """
class ndGraphException(Exception):
    """ Base exception for all things to do with node graphs
    """
    pass

class ndNodeMissing(ndGraphException):
    """ Node not found
    """
    pass

class ndGraphCycle(ndGraphException):
    """ The operation will result in a cycle within the graph
    """
    pass

class ndLinkMissing(ndGraphException):
    """An expected edge from child to parent could not be found.
    """
    pass

class ndNotEmpty(ndGraphException):
    """ A node has children when this is not expected
    """
    pass

class ndDataException(Exception):
    """ Base exception for all things to do with node data
    """
    pass

class ndDataValidation(ndDataException):
    """ Errors in data validation
    """
    pass

class ndDataRedundantKey(ndDataException):
    """ Data source has too many data keys
    """
    pass

class ndDataPathNotFound(ndDataException):
    """ Search for a path has found nothing
    """
    pass

class ndDataUpdate(ndDataException):
    """ Something wrong when trying to insert/update
    """
    pass

class ndUploadLog(ndDataException):
    """ Errors in processing an upload log
    """
    pass

class ndIdentifierNotFound(ndDataException):
    """ Looked for an identifier somewhere and could not find one
    """
    pass

class ndObjectType(ndDataException):
    """ The object type of a node is not what we are expecting
    """
    pass

#-----------------------------------------------------------------------
