# Path: cjktools/errors.py
# class NotYetImplementedError(Exception):
#     """
#     A placeholder to use when you define a method but haven't implemented
#     it yet.
#     """
#     pass


from enum import Enum
from cjktools.errors import NotYetImplementedError
from six import text_type
import six

"""
A generic bilingual dictionary class.
"""




class ClashPolicy(Enum):
    Overwrite = 1
    Merge = 2


class BilingualDictionary(dict):
    """
    An abstract bilingual dictionary, containing headwords in one
    language and translated senses in another language. Homographs are
    stored as senses of the same lexeme, rather than being separate.
    """

    def __init__(self, fmt):
        """
        :param DictionaryFormat format:
            The format object for this dictionary.
        """
        self.format = fmt

    def update(self, rhs_dictionary, clash_policy=ClashPolicy.Overwrite):
        "Merges another dictionary into this one, in-place."
        if clash_policy == ClashPolicy.Merge:

# Path: cjktools/errors.py
# class NotYetImplementedError(Exception):
#     """
#     A placeholder to use when you define a method but haven't implemented
#     it yet.
#     """
#     pass


# Path: cjktools/resources/bilingual_dict.py
from enum import Enum
from cjktools.errors import NotYetImplementedError
from six import text_type
import six


"""
A generic bilingual dictionary class.
"""




class ClashPolicy(Enum):
    Overwrite = 1
    Merge = 2


class BilingualDictionary(dict):
    """
    An abstract bilingual dictionary, containing headwords in one
    language and translated senses in another language. Homographs are
    stored as senses of the same lexeme, rather than being separate.
    """

    def __init__(self, fmt):
        """
        :param DictionaryFormat format:
            The format object for this dictionary.
        """
        self.format = fmt

    def update(self, rhs_dictionary, clash_policy=ClashPolicy.Overwrite):
        "Merges another dictionary into this one, in-place."
        if clash_policy == ClashPolicy.Merge:

            raise NotYetImplementedError