# Path: djangocodemirror/exceptions.py
# class NotRegisteredError(KeyError):
#     pass
# 
# class UnknowConfigError(KeyError):
#     pass
# 
# class UnknowModeError(KeyError):
#     pass
# 
# class UnknowThemeError(KeyError):
#     pass


import copy
from django.conf import settings
from .exceptions import (NotRegisteredError, UnknowConfigError,
                         UnknowModeError, UnknowThemeError)
        """
        if name not in settings.CODEMIRROR_THEMES:
            msg = ("Given theme name '{}' does not exists in "
                   "'settings.CODEMIRROR_THEMES'.")
            raise UnknowThemeError(msg.format(name))

        return settings.CODEMIRROR_THEMES.get(name)

    def get_configs(self, name=None):
        """
        Returns registred configurations.

        * If ``name`` argument is not given, default behavior is to return
          every config from all registred config;
        * If ``name`` argument is given, just return its config and nothing
          else;

        Keyword Arguments:
            name (string): Specific configuration name to return.

        Raises:
            NotRegisteredError: If given config name does not exist in
            registry.

        Returns:
            dict: Configurations.
        """
        if name:
            if name not in self.registry:
                msg = "Given config name '{}' is not registered."

# Path: djangocodemirror/exceptions.py
# class NotRegisteredError(KeyError):
#     pass
# 
# class UnknowConfigError(KeyError):
#     pass
# 
# class UnknowModeError(KeyError):
#     pass
# 
# class UnknowThemeError(KeyError):
#     pass


# Path: djangocodemirror/manifest.py
import copy
from django.conf import settings
from .exceptions import (NotRegisteredError, UnknowConfigError,
                         UnknowModeError, UnknowThemeError)

        """
        if name not in settings.CODEMIRROR_THEMES:
            msg = ("Given theme name '{}' does not exists in "
                   "'settings.CODEMIRROR_THEMES'.")
            raise UnknowThemeError(msg.format(name))

        return settings.CODEMIRROR_THEMES.get(name)

    def get_configs(self, name=None):
        """
        Returns registred configurations.

        * If ``name`` argument is not given, default behavior is to return
          every config from all registred config;
        * If ``name`` argument is given, just return its config and nothing
          else;

        Keyword Arguments:
            name (string): Specific configuration name to return.

        Raises:
            NotRegisteredError: If given config name does not exist in
            registry.

        Returns:
            dict: Configurations.
        """
        if name:
            if name not in self.registry:
                msg = "Given config name '{}' is not registered."

                raise NotRegisteredError(msg.format(name))