# Path: intelligine/core/exceptions.py
# class NoTypeInMolecule(NoMolecule):
#     pass
# 
# class NoCategoryInMolecule(NoMolecule):
#     pass
# 
# Path: intelligine/simulation/molecule/Molecule.py
# class Molecule():
# 
#     def __init__(self, category, type, distance=None, intensity=0, cycle_age=None):
#         self._category = category
#         self._type = type
#         self._distance = distance
#         self._intensity = intensity
#         self._cycle_age = cycle_age
# 
#     def get_category(self):
#         return self._category
# 
#     def get_type(self):
#         return self._type
# 
#     def get_distance(self):
#         return self._distance
# 
#     def set_distance(self, distance):
#         self._distance = distance
# 
#     def get_intensity(self):
#         return self._intensity
# 
#     def get_cycle_age(self):
#         return self._cycle_age
# 
#     def set_cycle_age(self, cycle_age):
#         self._cycle_age = cycle_age
# 
#     def increment_intensity(self, increment_value):
#         self._intensity += increment_value


from intelligine.core.exceptions import NoTypeInMolecule, NoCategoryInMolecule
from intelligine.simulation.molecule.Molecule import Molecule
                    raw_data[category] = {}
                if molecule.get_intensity() >= 0:
                    raw_data[category][type] = (molecule.get_distance(),
                                                molecule.get_intensity(),
                                                molecule.get_cycle_age())
        return raw_data

    def __init__(self, flavour):
        self._flavour = flavour

    def get_molecule(self, category, type):
        types = self.get_types(category)
        if type not in types:
            raise NoTypeInMolecule()
        return types[type]

    def get_molecules(self, category):
        """

        :param category:
        :return: Molecules dict or empty dict of no molecules
        """
        try:
            return self.get_types(category).values()
        except NoCategoryInMolecule:
            return {}

    def get_molecules_types(self, category):
        try:
            return self.get_types(category).keys()

# Path: intelligine/core/exceptions.py
# class NoTypeInMolecule(NoMolecule):
#     pass
# 
# class NoCategoryInMolecule(NoMolecule):
#     pass
# 
# Path: intelligine/simulation/molecule/Molecule.py
# class Molecule():
# 
#     def __init__(self, category, type, distance=None, intensity=0, cycle_age=None):
#         self._category = category
#         self._type = type
#         self._distance = distance
#         self._intensity = intensity
#         self._cycle_age = cycle_age
# 
#     def get_category(self):
#         return self._category
# 
#     def get_type(self):
#         return self._type
# 
#     def get_distance(self):
#         return self._distance
# 
#     def set_distance(self, distance):
#         self._distance = distance
# 
#     def get_intensity(self):
#         return self._intensity
# 
#     def get_cycle_age(self):
#         return self._cycle_age
# 
#     def set_cycle_age(self, cycle_age):
#         self._cycle_age = cycle_age
# 
#     def increment_intensity(self, increment_value):
#         self._intensity += increment_value


# Path: intelligine/simulation/molecule/MoleculeFlavour.py
from intelligine.core.exceptions import NoTypeInMolecule, NoCategoryInMolecule
from intelligine.simulation.molecule.Molecule import Molecule

                    raw_data[category] = {}
                if molecule.get_intensity() >= 0:
                    raw_data[category][type] = (molecule.get_distance(),
                                                molecule.get_intensity(),
                                                molecule.get_cycle_age())
        return raw_data

    def __init__(self, flavour):
        self._flavour = flavour

    def get_molecule(self, category, type):
        types = self.get_types(category)
        if type not in types:
            raise NoTypeInMolecule()
        return types[type]

    def get_molecules(self, category):
        """

        :param category:
        :return: Molecules dict or empty dict of no molecules
        """
        try:
            return self.get_types(category).values()
        except NoCategoryInMolecule:
            return {}

    def get_molecules_types(self, category):
        try:
            return self.get_types(category).keys()

        except NoCategoryInMolecule: